We don't use the word engine in quite that way with ClamAV, but I think I 
understand your question. 

With regards to the word "engine":
        Clamd builds a scanning engine based on the databases and configuration 
options.  The engine is shared by scanning threads.

With regards to clamd's use of multithreading:
        Clamd uses multithreading to handle scan requests.  That is to say that 
each scan target will get its own thread.  However, files contained within the 
scan target will be scanned in the same thread as the scan target.  Scans of 
embedded content are invoked as they are identified by the parsers for each 
given file type.  None of these make use of multithreading at this time.

Regards,
Micah

On 4/11/19, 4:09 PM, "clamav-users on behalf of Paul Kosinski via 
clamav-users" <clamav-users-boun...@lists.clamav.net on behalf of 
clamav-users@lists.clamav.net> wrote:

    Does clamd use multi-threading for the various "engines" within a
    single scan, or only to handle multiple requests from different sources?
    
    
    On Tue, 9 Apr 2019 21:29:43 +0000
    "Micah Snyder \(micasnyd\) via clamav-users"
    <clamav-users@lists.clamav.net> wrote:
    
    > Maarten,
    > 
    > Your test results are pretty great.  I really like your breakdown of
    > the signatures by category.  I will caution that scan times will vary
    > quite heavily depending on what you’re scanning, based on Target type
    > (https://www.clamav.net/documents/clamav-file-types).
    > 
    > In addition, it’s important to distinguish between load and scan
    > times.  The time reported by clamscan is both load + scan.  If you
    > just want scan time, you will want to load the database with clamd
    > and then test the scantime with clamdscan.
    > 
    > Regarding load time vs scantime, all of the signatures must be
    > loaded, but depending on the target type of the file being scanned,
    > not all of the signatures will be matched against the file.  That is,
    > daily_Win.ldb might take the longest to load due to the number of
    > signatures or complexity of the signatures but when scanning a PDF,
    > they probably won’t impact scan time, as Win signatures are probably
    > mostly target type 1 (PE file).
    > 
    > I’ve bit of time today investigating what I believe is responsible
    > for slow load and scan times for the Phishtank sigs.  I had a hunch,
    > based on a conversation we saw a while back in the mailing list, that
    > the identical beginning for URL-based signatures result in an
    > un-balanced and inefficient tree for matching. That is, some 3000
    > signatures each began with either:
    > 
    > 
    >   1.  href="http:// (687265663d22687474703a2f2f)
    >   2.  HYPERLINK"http (48595045524c494e4b2022687474703a2f2f)
    >   3.  S/URI/URI(http:// (532f5552492f55524928687474703a2f2f)
    > 
    > Looking at a few of the Phish.Phishing signatures, these appear to
    > have the same issue (href="http:// prefix).  In testing with scan of
    > a PDF document, I was able to reduce the scan time from 31.987 sec
    > down to 2.632 sec simply by changing the start of the Phishtank
    > signatures for the following:
    > 
    > 
    >   1.  href="http://
    >      *   from: 687265663d22687474703a2f2f
    >      *   to: 687265663d2268747470{3-4}
    >   2.  HYPERLINK "http
    >      *   from: 48595045524c494e4b2022687474703a2f2f
    >      *   to: 48595045524c494e4b202268747470{3-4}
    >   3.  S/URI/URI(http://
    >      *   from: 532f5552492f55524928687474703a2f2f
    >      *   to: 532f5552492f5552492868747470{3-4}
    > 
    > This should get the same detection with a faster load and scan time,
    > and will accommodate for httpS for better coverage.  To turn lemonade
    > into really good lemonade, we may be able to take the above
    > optimization and apply it to the Phish.Phishing signatures identified
    > by Maarten to reduce scan times further to levels below those before
    > the addition of the Phishtank signatures.
    > 
    > As noted by Maarten as well, the Phish.Phishing sigs are Target type
    > 0, whereas we’d split the Phishtank.Phishing signatures up by target
    > type to reduce scan times of files where the signatures won’t apply.
    > It should also speed things up quite a bit for other file types to
    > split those up by Target types.
    > 
    > Further research into scan time optimization is definitely welcome
    > and appreciated.
    > 
    > Regards,
    > Micah
    
    _______________________________________________
    
    clamav-users mailing list
    clamav-users@lists.clamav.net
    https://lists.clamav.net/mailman/listinfo/clamav-users
    
    
    Help us build a comprehensive ClamAV guide:
    https://github.com/vrtadmin/clamav-faq
    
    http://www.clamav.net/contact.html#ml
    


_______________________________________________

clamav-users mailing list
clamav-users@lists.clamav.net
https://lists.clamav.net/mailman/listinfo/clamav-users


Help us build a comprehensive ClamAV guide:
https://github.com/vrtadmin/clamav-faq

http://www.clamav.net/contact.html#ml

Reply via email to