21 七月, 2008

Nginx这么高效?

Nginx的Architecture and scalability一节里这么介绍:

Nginx运行时包括一个主进程和几个子进程,保持10K个HTTP连接,只耗用2.5M的内存。

2.5M/10K = 263Bytes

保留这么少的内存,意味着一旦HTTP请求进来,肯定少不了要申请内存,而频繁地内存申请释放操作要耗费很多CPU资源,然而Nginx又是出名的CPU资源小户,用到10%已经很了不起了(参考Why Use Nginx?中用户的表扬信)

用这么少的资源,不光要减少disk IO操作,也必须减少Memory操作才行,相信上面的“data copy operations are kept to a minimum.”是关键,不知道和这里提到的Patent有没有关联。

@todo: 做个记号,抽空研究一下源码。

几个链接:

http://www.nginx.net/

WIKI (English)

关于 Nginx 的几个误解(不能说是误解,对于一个迅速发展的开源软件,今天和明天在功能或者支持上有些不一致很正常)

Reducing data copy operations for writing data from a network to storage of a cached data storage system by organizing cache blocks as linked lists of data fragments


最新回复
发表评论


















Bold Italic Link