1

Python で独自の RPC メソッドをプログラミングしているときに、MacOS X (10.9.1) で奇妙な動作を発見しました。次のように、Python の単純な HTTP サーバーを起動します。

python -m SimpleHTTPServer

そして、Apache の HTTP ベンチマーク ユーティリティを起動します。

ab -n 20000 http://127.0.0.1:8000/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 2000 requests
Completed 4000 requests
Completed 6000 requests
Completed 8000 requests
Completed 10000 requests
Completed 12000 requests
Completed 14000 requests
Completed 16000 requests
apr_socket_recv: Operation timed out (60)
Total of 16343 requests completed

それだけです... "ab -n 1000 ..." を 17 回実行しても、最後の実行では同じ結果が得られます。Ubuntuベースのシステムで同じことをするとうまくいきます。

バージョンは次のとおりです。

Python 2.7.5
Darwin box 13.1.0 Darwin Kernel Version 13.1.0: Thu Jan 16 19:40:37 PST 2014; root:xnu-2422.90.20~2/RELEASE_X86_64 x86_64

MacOS X 上の Python が ~16.000 を超えるリクエストを処理できない理由と、可能な回避策があるかどうかを知っている人はいますか?

ありがとう

4

0 に答える 0