nxweb小巧高效的 HTTP 引擎
nxweb 是采用 Python 和 C 编写的快速而且轻量级的 Web 服务器软件。
特性:
性能优异
可处理数千并发
内存占用小
事件驱动、多线程模型
代码量小
简单的 C API
体面的 HTTP 协议处理
支持 keep-alive 连接
支持 chunked 请求和响应
支持 SSL (via GNUTLS)
支持 HTTP proxy (with keep-alive connection pooling)
支持文件缓存
cached content can be served when backend is unavailable
非堵塞 sendfile 支持 (with configurable small file memory cache)
cacheable image thumbnails with watermarks (via ImageMagick)
basic server-side includes (SSI)
subrequests
modular design for developers
can be run as daemon; relaunches itself on error
open source
性能比较:
Test | NXWEB | G-WAN | libevent | microhttpd | mongoose | nginx |
---|---|---|---|---|---|---|
1. hello 100 ka | 200 / 121 | 144 | 30 / 69 | 132 | 190 | 141 |
2. hello 100 | 51 / 42 | 41 | 15 / 32 | 13 | 34 | 41 |
3. hello 1000 ka | 160 / 115 | 130 | 21 / 43 | 130 | 180 | 124 |
4. hello 1000 | 46 / 38 | 38 | 14 / 30 | 12 | 35 | 40 |
5. hello 10000 ka | 115 / 84 | 103 | 23 / 40 | 116 | 119 | 108 |
5.1. real concurrency | 9500-10000 | 9500-10000 | 10000 | 600-1000 | 1500-1700 | 4000-7000 |
5.2. memory footprint | 28Mb | 105Mb | - | - | - | 4x15Mb |
6. hello 10000 | 38 / 34 | 33 | 14 / 27 | 9 | 20 | 29 |
7. file 2.3K ka | 133 | NA | NA | NA | 5 | 98 |
7.1. file 2.3K ka cached | 145 | 120 | NA | NA | NA | NA |
8. file 2.3K | 42 | NA | NA | NA | 12 | 39 |
8.1. file 2.3K cached | 43 | 33 | NA | NA | NA | NA |
9. file 100K ka | 36 | 15 | NA | NA | 3.6 | 32 |
10. file 100K | 23 | 12 | NA | NA | 3.5 | 21 |
11. file 2.1M ka | 3.2 | 0.7 | NA | NA | 0.6 | 2.6 |
12. file 2.1M | 2.3 | 0.6 | NA | NA | 0.5 | 2.0 |
评论