- 
                Notifications
    
You must be signed in to change notification settings  - Fork 774
 
making a busy crawl go faster
        Alex Osborne edited this page Jul 4, 2018 
        ·
        2 revisions
      
    The following are some indicators that a crawl is 'busy':
- all threads are active
 - there are many independent queues the crawler may consult for new URIs – specifically, some are in the 'inactive queue' state and the 'congestion ratio' is greater-than 1, perhaps much greater
 - CPU utilization as indicated by a tool like 'top' is high
 
For busy crawls, politeness setting are not the issue – raw system capacity is.
For example, if all threads are busy and there are plenty of other sites ready to crawl – as will be common in a large-domain crawl, until/unless it gets down to a last few large sites – then reducing politeness delays won't speed things up at all. It's not the limiting factor; threads/CPU/IO are.
Some tweaks that can help a busy crawl go faster are:
- use more RAM, either as assigned to JVM (by -Xmx launch parameter) or as OS disk cache (automatically used by linux if available)
 - use separate disks for the frontier datastore and w/arc writing
(
storePaths,BdbModule.dir) to reduce I/O contention - experiment with different toe-thread counts to find what value optimizes throughput; the best number for your system depends on RAM, IO contention, and CPU cores/speed
 
Structured Guides:
User Guide
- Introduction
 - New Features in 3.0 and 3.1
 - Your First Crawl
 - Checkpointing
 - Main Console Page
 - Profiles
 - Heritrix Output
 - Common Heritrix Use Cases
 - Jobs
 - Configuring Jobs and Profiles
 - Processing Chains
 - Credentials
 - Creating Jobs and Profiles
 - Outside the User Interface
 - A Quick Guide to Creating a Profile
 - Job Page
 - Frontier
 - Spring Framework
 - Multiple Machine Crawling
 - Heritrix3 on Mac OS X
 - Heritrix3 on Windows
 
- Responsible Crawling
 - Politeness parameters
 - BeanShell Script For Downloading Video
 - crawl manifest
 - JVM Options
 - Frontier queue budgets
 - BeanShell User Notes
 - Facebook and Twitter Scroll-down
 - Deduping (Duplication Reduction)
 - Force speculative embed URIs into single queue.
 - Heritrix3 Useful Scripts
 - How-To Feed URLs in bulk to a crawler
 - MatchesListRegexDecideRule vs NotMatchesListRegexDecideRule
 - WARC (Web ARChive)
 - When taking a snapshot Heritrix renames crawl.log
 - YouTube
 
- H3 Dev Notes for Crawl Operators
 - Development Notes
 - Spring Crawl Configuration
 - Potential Cleanup-Refactorings
 - Future Directions Brainstorming
 - Documentation Wishlist
 - Web Spam Detection for Heritrix
 - Style Guide
 - HOWTO Ship a Heritrix Release
 - Heritrix in Eclipse
 
