在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个请求以及是否有可能的解决方法?
由于