nxweb - 小巧高效的 HTTP 引擎


GPLv3
Linux
C/C++

软件简介

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 gzip content encoding

  • cacheable image thumbnails with watermarks (via ImageMagick)

  • basic server-side includes ( SSI )

  • templating engine with page inheritance

  • subrequests

  • integrated Python interpreter and WSGI-server

  • 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