
我正在維護一些網路爬蟲。我想改進我們的負載/節流系統,使其更加智慧。
當然,我會查看回應代碼,並根據該代碼來調高或調低速度。但我希望系統能夠更好地根據所要求的伺服器的行為動態調整速率。假設這是一天中非常繁忙的時間,並且目標網路伺服器正在經歷異常高的流量或其他情況。然後我想檢測它,出於禮貌而限制來自我這邊的請求,並在伺服器再次正常時重新限制。
我應該以哪些症狀作為抑制指標?我再次加速的指標是什麼?
我一直在考慮記錄每個請求的回應時間,例如最後一個小時。問題是,很難找到合理的平均/中位數請求時間來進行基準測試,因為所有伺服器都不同,甚至同一網站內的資源回應速度也截然不同。我一直在考慮的另一件事是尋找回應時間的波動,但我不知道這是否是一種常見症狀,或者更常見的是所有請求都需要更長的時間。