Suchmaschinen-Crawler-Optimierung: Der lange Schwanz der 0,1%

2025-03-27

Der Crawler einer Suchmaschine hatte immer Probleme, seine Aufgabe zu beenden und verbrachte Tage mit den letzten Domains. Die kürzlich erfolgte Migration zu reduzierten Crawldaten reduzierte den Speicherbedarf um 80 %, wodurch die Anzahl der Crawlaufgaben erhöht wurde. Dies führte zu einer Fertigstellung von 99,9 % in 4 Tagen, aber die restlichen 0,1 % dauerten eine Woche. Das Problem liegt in der Größe der Websites, die einer Pareto-Verteilung folgt, wobei große Websites (insbesondere akademische Websites mit zahlreichen Subdomains und Dokumenten) und Crawler-Limits für gleichzeitige Aufgaben pro Domain eine Rolle spielen. Die anfängliche zufällige Reihenfolge führte dazu, dass große Websites spät gestartet wurden. Das Sortieren nach der Anzahl der Subdomains führte zu einem Anstieg der Anfragen an Blog-Hosts. Das Hinzufügen von Jitter zur Verzögerung zwischen den Anfragen und das Anpassen der Sortierreihenfolge, um Websites mit mehr als 8 Subdomains zu priorisieren, haben das Problem teilweise gelöst. Die inhärenten Einschränkungen des batchorientierten Crawler-Modells erfordern jedoch weitere Optimierungen.