Size: 2101
Comment:
|
Size: 2212
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
This is a small side project I actually did for work. I wrapped {{{asyncore}}} to be an server and request handler. It can be used in much the same way as {{{SimpleHTTPServer}}} though the API is a bit different. It is still a work in progress, but is running, in its current form, in a production environment. It is for the most part HTTP/1.1 compliant and can be used as a RESTful server. The latest version has a WSGI handler. | This is a small side project I actually did for work. I wrapped {{{asyncore}}} to be an server and request handler. It can be used in much the same way as {{{SimpleHTTPServer}}} though the API is a bit different. It is still a work in progress, but is running, in its current form, in a production environment. It is for the most part HTTP/1.1 compliant and can be used as a RESTful server. The latest version has a WSGI handler. Unhappily the WSGI handler is severely broken, but don't despair I should have it fixed next week--August 4th. |
AsyncoreHTTPServer
This is a small side project I actually did for work. I wrapped asyncore to be an server and request handler. It can be used in much the same way as SimpleHTTPServer though the API is a bit different. It is still a work in progress, but is running, in its current form, in a production environment. It is for the most part HTTP/1.1 compliant and can be used as a RESTful server. The latest version has a WSGI handler. Unhappily the WSGI handler is severely broken, but don't despair I should have it fixed next week--August 4th.
Testing
The following file can be used to run tests on the AsyncoreHTTPServer module.
Note:
- The mean was taken on six runs for each test giving the results listed below.
- The number of requests below was determined below the point where bad requests were received by the server.
The test results below were done using HEAD requests on an arbitrary, but consistent URI.
KeepAlive |
Socket Timeout (sec) |
KeepAlive Timeout (sec) |
Elapse Time (sec) |
Number of Requests |
Extrapolated Requests per/sec |
True |
15.0 |
30.0 |
0.301 |
165 |
548 |
False |
15.0 |
NA |
0.161 |
45 |
280 |
The test results below were done using GET requests retuning 1032 bytes on the same URI as above.
KeepAlive |
Socket Timeout (sec) |
KeepAlive Timeout (sec) |
Elapse Time (sec) |
Number of Requests |
Extrapolated Requests per/sec |
True |
15.0 |
30.0 |
0.354 |
165 |
466 |
False |
15.0 |
NA |
0.177 |
45 |
254 |
Documentation
The following README files explains the test condition.
The API docs are available here:
Change Log: