New submission from Alice Bevan-McGregor <al...@gothcandy.com>: Using the wsgiref simple HTTP server or any other capable of > 2000 requests/sec. demonstrates an issue with Macintosh sockets.
Mac OS X Version: 10.6.3 (Build 10D573) Python Version: 2.6.1 (32-bit) The minimal application needed to demonstrate the problem is: import sys, cStringIO from wsgiref.simple_server import make_server sys.stderr = cStringIO.StringIO() # disable request logging def app(environ, start_response): start_response("200 OK", [('Content-Type', 'text/plain')]) return ['Hello world!\n'] httpd = make_server('', 8080, app) httpd.serve_forever() Then hammer the server using Apache Bench: ab -n 20000 -c 5 http://127.0.0.1:8080/ At almost exactly the 16000 request mark socket connections begin to time out. Sockets are then freed up at the rate of about 40/second (on my box). Killing the ab run when it freezes then immediately re-trying (and cancelling after a few seconds) will show this rate. Time must pass for some connection 'pool' to free the connections before you can do another 16000 requests. This problem does not appear on the following setup: Operating System: Gentoo Linux Python Version: 2.6.4 (32-bit) ---------- components: Library (Lib) messages: 106117 nosy: amcgregor priority: normal severity: normal status: open title: Socket freezing under load issue on Mac. type: behavior versions: Python 2.6 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue8771> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com