High performance asynchronous Python WSGI Web Server
Project description
What’s this
this is a python wsgi web server.
Thus this is yet an another asynchronous web server like fapws3, tornado.
And meinheld is a WSGI compliant web server.
Require
meinheld requires Python 2.x >= 2.5.
sorry meinheld supported linux only.
Installation
Install from pypi:
$ easy_install -ZU meinheld
Install from source:
$ python setup.py install
meinheld support gunicorn .
To install gunicorn:
$ easy_install -ZU gunicorn
Basic Usage
simple wsgi app:
from meinheld import server def hello_world(environ, start_response): status = '200 OK' res = "Hello world!" response_headers = [('Content-type','text/plain'),('Content-Length',str(len(res)))] start_response(status, response_headers) return [res] server.listen(("0.0.0.0", 8000)) server.run(hello_world)
with gunicorn. user worker class “meinheld.gmeinheld.MeinheldWorker”:
$ gunicorn --workers=2 --worker-class="meinheld.gmeinheld.MeinheldWorker" gunicorn_test:app
Performance
meinheld is used high performance http_parser.
(see http://github.com/ry/http-parser)
and useing high performance event library picoev.
(see http://developer.cybozu.co.jp/kazuho/2009/08/picoev-a-tiny-e.html)
simple benchmark
simple hello_world bench:
def hello_world(environ, start_response): status = '200 OK' res = "Hello world!" response_headers = [('Content-type','text/plain'),('Content-Length',str(len(res)))] start_response(status, response_headers) return [res]
use apach bench:
$ ab -c 100 -n 10000 http://127.0.0.1:8000/
spec
CPU : Intel(R) Atom(TM) CPU N270 @ 1.60GHz
Memoy : 1G
OS: Ubuntu 10.04
server |
Requests per second |
---|---|
meinheld 0.1 |
2927.62 [#/sec] |
fapws3 0.6 |
1293.53 [#/sec] |
sendfile
meinheld use sendfile(2), over wgsi.file_wrapper.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file meinheld-0.1.tar.gz
.
File metadata
- Download URL: meinheld-0.1.tar.gz
- Upload date:
- Size: 34.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5de4f7456afc112497c82387040f27194d0f28d91ff0459dee67335aa8e699ad |
|
MD5 | c13a5cdf9bdddf981f284f25e093c91d |
|
BLAKE2b-256 | c4d8f3304dd16bdee8169b9a3ae79f90adfd382ee2f8f89c882ca851e80be984 |