Design and implementation of a high-performance distributed web crawler

Vladislav Shkapenyuk, Torsten Suel

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Abstract

    Broad web search engines as well as many more specialized search tools rely on web crawlers to acquire large collections of pages for indexing and analysis. Such a web crawler may interact with millions of hosts over a period of weeks or months, and thus issues of robustness, flexibility, and manageability are of major importance. In addition, I/O performance, network resources, and OS limits must be taken into account in order to achieve high performance at a reasonable cost. In this paper, we describe the design and implementation of a distributed web crawler that runs on a network of workstations. The crawler scales to (at least) several hundred pages per second, is resilient against system crashes and other events, and can be adapted to various crawling applications. We present the software architecture of the system, discuss the performance bottlenecks, and describe efficient techniques for achieving high performance. We also report preliminary experimental results based on a crawl of 120 million pages on 5 million hosts.

    Original languageEnglish (US)
    Title of host publicationProceedings - International Conference on Data Engineering
    EditorsR Agrawal, K Dittrich, A Ngu
    Pages357-368
    Number of pages12
    StatePublished - 2002
    Event18th International Conference on Data Engineering - San Jose, CA, United States
    Duration: Feb 26 2002Mar 1 2002

    Other

    Other18th International Conference on Data Engineering
    Country/TerritoryUnited States
    CitySan Jose, CA
    Period2/26/023/1/02

    ASJC Scopus subject areas

    • Software
    • General Engineering
    • Engineering (miscellaneous)

    Fingerprint

    Dive into the research topics of 'Design and implementation of a high-performance distributed web crawler'. Together they form a unique fingerprint.

    Cite this