当前位置: 首页 > 软件库 > 服务器软件 > HTTP服务器 >

nxweb

小巧高效的 HTTP 引擎
授权协议 GPLv3
开发语言 C/C++ Python
所属分类 服务器软件、 HTTP服务器
软件类型 开源软件
地区 不详
投 递 者 阳念
操作系统 Linux
开源组织
适用人群 未知
 软件概览

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


  • https://bitbucket.org/yarosla/nxweb/downloads nxweb.org/blog-post/1444/sample-c-handler-for-nxweb 1../nxweb -d -l nxweb_error_log -H :80  -w ../test1/ 启动nxweb启动指定对应的工作目录 2.nxwebc sample_handler.c -o s

  • NXWEB何许人也?莫非来自星星的你? 好吧,其实NXWEB是C语言写的一个超快超轻量级的web服务器,就这么简单。作者:Yaroslav Stavnichiy,官网 也许有人会有疑问,webserver领域既然已经有老牌劲旅Apache,新科状元Nginx,我们还需要其他web服务器吗?其实互联网的复杂性总会产生各种各样的需求,比如功能单一,简洁,追求高并发,占用系统性能少,超轻量级的web服务

 相关资料
  • 本文向大家介绍提高iOS开发效率的小技巧与思路,包括了提高iOS开发效率的小技巧与思路的使用技巧和注意事项,需要的朋友参考一下 先用一张图展示学习iOS开发应该掌握的知识体系: 1.全图片作为背景的时候,可能遇到的问题。,滑回的时候,图片停留了一会才滑回去。 原因: 这种界面一般使用一般用imageView的第三种填充方式。 这种填充方式可以让图片不被压缩变形的前提下,尽可能去填充整个控件,但是设

  • 本文向大家介绍Python 高效编程技巧分享,包括了Python 高效编程技巧分享的使用技巧和注意事项,需要的朋友参考一下 一、根据条件在序列中筛选数据 假设有一个数字列表 data, 过滤列表中的负数 学生的数学分数以字典形式存储,筛选其中分数大于 80 分的同学 二、对字典的键值对进行翻转 使用 zip() 函数 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,

  • 本文向大家介绍提高php编程效率技巧,包括了提高php编程效率技巧的使用技巧和注意事项,需要的朋友参考一下 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加 上了双引号)。     1、如果能将类的方

  • 本文向大家介绍提高iOS开发的小技巧和思路小结 (二),包括了提高iOS开发的小技巧和思路小结 (二)的使用技巧和注意事项,需要的朋友参考一下 前言 之前跟大家分享过一篇《提高iOS开发的小技巧和思路》,但是里面整理的不够全面,通过最近这段时间的整理学习,又整理了一些小技巧和思路分享给大家,下面话不多说了,来看看详细的介绍吧。 一、如何让你的app在后台持续运行一段时间 iOS的app在按下hom

  • 主要内容:1.系统拆分,2.解耦,3.异步,4.重试,5.补偿,6.备份,7.多活策略,8.隔离,9.限流,10.熔断,11.降级1.系统拆分 微服务架构,将一个复杂的业务域按DDD的思想拆分成若干子系统,每个子系统负责专属的业务功能,做好垂直化建设,各个子系统之间做好边界隔离,降低风险蔓延。 2.解耦 高内聚、低耦合。小到接口抽象、MVC 分层,大到 SOLID 原则、23种设计模式。核心都是降低不同模块间的耦合度,避免一处错误改动影响到整个系统。 就以开闭原则为例,对扩展是开放的,对修改是关

  • 本文向大家介绍提高JavaScript执行效率的23个实用技巧,包括了提高JavaScript执行效率的23个实用技巧的使用技巧和注意事项,需要的朋友参考一下 本文向大家分享23种JavaScript提高执行效率的小技巧、最佳实践等非常实用的内容。当然JavaScript的实用技巧不止这些,还有很多即好玩又能提高程序运行效率的技巧,以后我们会继续分享给大家。 文中所提供的代码片段都已经过最新版的C