0

大規模なWebクローラーを構築する場合、インターネットサーバーファームにある専用WebサーバーでWebを実行するときに、Webをクロールするときに最適なインスタンスの数。

4

2 に答える 2

4

spare_memory_on_machine / memory_footprint_of_crawler_process * 0.95

于 2009-06-21T10:06:13.040 に答える
4

大規模なクローラーを作成するには、次のようないくつかの問題に対処する必要があります。

• すべての情報を 1 つのデータベースに保持することは不可能です。

• 巨大なインデックスを処理するのに十分な RAM がありません

• マルチスレッドのパフォーマンスと同時実行性

• クローラー トラップ (URL、カレンダー、セッション ID の変更によって作成される無限ループ...) および重複したコンテンツ。

• 複数のコンピュータからのクロール

• 不正な HTML コード

• サーバーからの継続的な http エラー

• 圧縮されていないデータベース。必要なスペースが約 8 倍になります。

• ルーチンと優先順位を再クロールします。

• 圧縮されたリクエスト (Deflate/gzip) を使用します (あらゆる種類のクローラーに適しています)。

そして、いくつかの重要なこと

• robots.txt を尊重する

• また、Web サーバーを窒息させないように、各リクエストでクローラーを遅延させます。

最適なスレッド構成は、コードによって異なります。.net で 100 プロセスを実行しています。不要なオープン スレッドを避けるために、スケジュール クラスを使用することをお勧めします。

PS。5 つのスレッドを使用している場合、「大規模」な Web クローリングに到達するには何年もかかります。

于 2011-12-19T14:17:12.823 に答える