nxweb小巧高效的 HTTP 引擎
nxweb 是采用 Python 和 C 編寫(xiě)的快速而且輕量級(jí)的 Web 服務(wù)器軟件。
特性:
性能優(yōu)異
可處理數(shù)千并發(fā)
內(nèi)存占用小
事件驅(qū)動(dòng)、多線程模型
代碼量小
簡(jiǎn)單的 C API
體面的 HTTP 協(xié)議處理
支持 keep-alive 連接
支持 chunked 請(qǐng)求和響應(yīng)
支持 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 |
評(píng)論
圖片
表情
