
Ich betreue einige Webcrawler. Ich möchte unser Lade-/Drosselungssystem intelligenter gestalten.
Natürlich schaue ich mir die Antwortcodes an und drossle die Leistung entsprechend. Ich hätte allerdings gerne, dass das System die Raten dynamischer an das Verhalten des angefragten Servers anpasst. Nehmen wir an, es ist eine sehr arbeitsreiche Tageszeit und der Zielwebserver weist ungewöhnlich viel Verkehr oder etwas anderes auf. Dann möchte ich das erkennen, die Anforderungen meinerseits aus Höflichkeit drosseln und wieder drosseln, wenn der Server wieder in Ordnung ist.
Welche Symptome wären für mich Anzeichen, die eine Drosselung nahelegen? Und welche wären für mich Anzeichen, wieder Gas zu geben?
Ich habe darüber nachgedacht, die Antwortzeit für jede Anfrage beispielsweise für die letzte Stunde aufzuzeichnen. Das Problem ist, dass es äußerst schwierig ist, eine vernünftige durchschnittliche/mittlere Anfragezeit als Vergleich zu finden, da alle Server unterschiedlich sind und sogar Ressourcen innerhalb derselben Website mit sehr unterschiedlicher Geschwindigkeit antworten. Eine andere Sache, über die ich nachgedacht habe, ist, nach Schwankungen in der Antwortzeit zu suchen, aber ich weiß nicht, ob dies ein allgemeines Symptom ist oder ob es häufiger vorkommt, dass alle Anfragen einfach länger dauern.