ハイ!
httplib2 を使用していくつかの接続をシミュレートし、アプリケーションの負荷をテストしています。
しかし、私が遭遇する問題は、アプリケーションへの複数の接続を同時にテストしているときです。次のエラーが表示されます。AttributeError: 'NoneType' object has no attribute 'makefile'.
すべてのスレッドが実行されている場合、各スレッドが実行されるコードは次のとおりです。
url = 'localhost:8086/login'
http = httplib2.Http()
body = {'name': name, 'password': name}
headers = {'Content-type': 'application/x-www-form-urlencoded'}
response, content = http.request(url, 'POST', headers=headers,
body=urllib.urlencode(body))
headers = {'Cookie': response['set-cookie']}
url = 'localhost:8086/'
response, content = http.request(url, 'GET', headers=headers)
これは、並行して実行されている 5 つのスレッドで機能しますが、10 を超えると、これが観察されますAttributeError
。
この問題が発生する理由はよくわかりません。通常、ユーザーをシミュレートする各スレッドは、独自の応答、つまり get 要求のコンテンツを使用する必要があるためです。
何が欠けていますか?
ご協力ありがとうございました!