1
基本上我有857圖像鏈接檢查。我用3種不同的方法實現它,並且每個運行3次。Typhoeus寶石不減少響應時間
方法1:使用百頭巨怪和水潤(並行請求)被
hydra = Typhoeus::Hydra.new(:max_concurrency => 50)
st = Time.now
@image_urls.each do |image_url|
request = Typhoeus::Request.new(image_url)
hydra.queue(request)
end
hydra.run
et = Time.now
puts "\n" + (et - st).to_s() + " seconds"
時間:117.65,99.45,102.01秒
方法2:使用百頭巨怪(奇異請求)
st = Time.now
@image_urls.each do |image_url|
response = Typhoeus::Request.head(image_url)
end
et = Time.now
puts "\n" + (et - st).to_s() + " seconds"
所用時間:33.85,31.89,30.18秒
方法3:使用網:: HTTP Ruby庫
st = Time.now
@image_urls.each do |image_url|
url = URI.parse(image_url)
req = Net::HTTP.new(url.host, url.port)
res = req.request_head(url.path).code
end
et = Time.now
puts "\n" + (et - st).to_s() + " seconds"
拍攝時間:83.30,67.62,75.26秒
起初我還以爲方法1:百頭巨怪和水潤是假設通過發送並行請求來加速Http響應時間,而不是一次發送1個響應時間。但是,上述結果表明,我實際上正在獲得較慢的響應時間。
其中一個原因可能是對標頭的http請求的開銷比正常的http GET請求少。除此之外,我在這裏做錯了什麼?需要建議來優化這個過程,我只需要檢索http狀態碼。