Python を使用して、特定のサイトの Web API スロットル制限をテストしたいと考えています。
この API スロットル制限により、IP ごとに X リクエスト MAX が Y 秒にわたって許可されます。
特に国境の場合 (X-1 リクエスト、X+1 リクエスト) で、このスロットル制限の信頼性をテストできるようにしたいと考えています。
それを行うための良い方法を提案できますか?
Python を使用して、特定のサイトの Web API スロットル制限をテストしたいと考えています。
この API スロットル制限により、IP ごとに X リクエスト MAX が Y 秒にわたって許可されます。
特に国境の場合 (X-1 リクエスト、X+1 リクエスト) で、このスロットル制限の信頼性をテストできるようにしたいと考えています。
それを行うための良い方法を提案できますか?
次のことを行うスクリプトを作成します。
time.time()
)。タイミング結果にスロットルの証拠はないはずです。レイテンシーが大きい場合は、制限に達するために並列化が必要になる場合があります。更新:HTTPリクエストのサンプルコードは次のとおりです。
import time
import urllib2
URL = 'http://twitter.com'
def request_time():
start_time = time.time()
urllib2.urlopen(URL).read()
end_time = time.time()
return end_time - start_time
def throttling_test(n):
"""Test if processing more than n requests is throttled."""
experiment_start = time.time()
for i in range(n):
t = request_time()
print 'Request #%d took %.5f ms' % (i+1, t * 1000.0)
print '--- Throttling limit crossed ---'
t = request_time()
print 'Request #%d took %.5f ms' % (n+1, t * 1000.0)
throttling_test(3)