-
Notifications
You must be signed in to change notification settings - Fork 762
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