検索エンジンクローラーの最適化:0.1%の長い尾

2025-03-27

検索エンジンのクローラーは、タスクの完了に常に苦労しており、最後のドメインに数日費やしていました。最近の縮小されたクロールデータへの移行により、メモリ使用量が80%削減され、クロールタスクの数が増加しました。これにより、4日間で99.9%の完了が達成されましたが、残りの0.1%には1週間かかりました。この問題は、ウェブサイトのサイズがパレート分布に従っており、大規模なウェブサイト(特に多数のサブドメインとドキュメントを持つ学術的なウェブサイト)と、ドメインごとの同時タスクに対するクローラーの制限が原因です。初期のランダムな順序付けにより、大規模なウェブサイトが遅れて開始されました。サブドメインの数によるソートは、ブログホストへの要求の急増につながりました。要求間の遅延にジッターを追加し、8つ以上のサブドメインを持つウェブサイトを優先するようにソート順序を調整することにより、問題が部分的に解決されました。しかし、バッチ指向のクロールモデルの固有の制限により、さらなる最適化が必要です。