Differences between revisions 14 and 53 (spanning 39 versions)
Revision 14 as of 2008-06-16 19:16:14
Size: 949
Editor: CarlNobile
Comment:
Revision 53 as of 2010-10-13 19:41:53
Size: 2359
Editor: CarlNobile
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. This is a small side project I actually did for work. I wrapped {{{asyncore}}} to be an HTTP 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.
Line 5: Line 5:
[[attachment:AsyncoreHTTPServer.py|AsyncoreHTTPServer]] [[attachment:AsyncoreHTTPServer.py|AsyncoreHTTPServer]] Module by itself.

The two packages below include the docs in HTML format.

[[http://tetrasys-design.net/download/AsyncoreHTTPServer/achttpsrv.tar.gz|Download Tarball]]

[[http://tetrasys-design.net/download/AsyncoreHTTPServer/achttpsrv.zip|Download Zip]]

== Testing ==
Line 11: Line 19:
The current results of these tests are listed below: 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.
Line 13: Line 23:
|| Keep Alive || Time (sec) || Requests || Requests per/sec ||
|| True || 0.301 || 165 || 548 ||
|| False || 0.161 || 45 || 280 ||
The test results below were done using HEAD requests on an arbitrary, but consistent URI.
Line 17: Line 25:
The following README files explains the test condition. (Note: It's very out of date) ||<style="width: 4em;"> !KeepAlive ||<style="width: 4em;"> Socket Timeout (sec) ||<style="width: 4em;"> !KeepAlive Timeout (sec) ||<style="width: 4em;"> Elapse Time (sec) ||<style="width: 4em;"> Number of Requests ||<style="width: 4em;"> Extrapolated Requests per/sec ||
|| True || 15.0 || 30.0 || 0.301 || 165 || 548 ||
|| False || 15.0 || NA || 0.161 || 45 || 280 ||
Line 19: Line 29:
[[attachment:README.AsyncoreHTTPServer.txt|README]] The test results below were done using GET requests retuning 1032 bytes on the same URI as above.

||<style="width: 4em;"> !KeepAlive ||<style="width: 4em;"> Socket Timeout (sec) ||<style="width: 4em;"> !KeepAlive Timeout (sec) ||<style="width: 4em;"> Elapse Time (sec) ||<style="width: 4em;"> Number of Requests ||<style="width: 4em;"> 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.

[[attachment:README.txt|README]]

The API docs are available here:

[[http:/wiki-htdocs/external/achttpsrvdoc/index.html|API Docs]]

Change Log:

[[attachment:ChangeLog.txt|ChangeLog]]

AsyncoreHTTPServer

This is a small side project I actually did for work. I wrapped asyncore to be an HTTP 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.

AsyncoreHTTPServer Module by itself.

The two packages below include the docs in HTML format.

Download Tarball

Download Zip

Testing

The following file can be used to run tests on the AsyncoreHTTPServer module.

testACHTTPServer

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.

README

The API docs are available here:

API Docs

Change Log:

ChangeLog

AsyncoreHTTPServer (last edited 2010-10-13 19:41:53 by CarlNobile)