[拇指飞动]构建高性能Web站点(1)
2013-07-16 17:40
218 查看
《构建高性能Web站点》中提到了Aphache, Nginx和lighthttpd。 把我的笔记share一下.
一般来讲Apache主要是基于多进程模型,早期的fork模式会为每一个request来fork一个新的进程;之后的prefork模式则会创建一个进程池,每个Request由一个子进程来处理,但是每个进程可以支持多个request,但是当MaxRequestsPerChild==1时,就相当于传统的fork模式了。
而Nginx为单进程多线程模型,相对于Apache,消耗内存小,也更为轻量级。
基于多进程模式的Apache,内存消耗更大,对于大并发是一个劣势,但是从稳定性来说更佳,任何一个子进程的奔溃都不会影响到Apache本身。通常对于静态文件服务器,站长们似乎都推荐使用Nginx。
当然,Apache其实也提供了Worker模式,允许一个进程中通过多线程来处理多个链接,与Nginx的工作方式相似。但正如作者在书中说的,Apache的worker模式是比较尴尬,使用者比较少,通常人们都会直接投奔其他轻量级的Web Server,如Nginx。
# References
[构建高性能Web站点](http://book.douban.com/subject/3924175)
[Web server调研分析 ]( http://stblog.baidu-tech.com/?p=755)
[Apache Prefork、Worker和Event三种MPM分析]( /article/4666210.html)
一般来讲Apache主要是基于多进程模型,早期的fork模式会为每一个request来fork一个新的进程;之后的prefork模式则会创建一个进程池,每个Request由一个子进程来处理,但是每个进程可以支持多个request,但是当MaxRequestsPerChild==1时,就相当于传统的fork模式了。
而Nginx为单进程多线程模型,相对于Apache,消耗内存小,也更为轻量级。
基于多进程模式的Apache,内存消耗更大,对于大并发是一个劣势,但是从稳定性来说更佳,任何一个子进程的奔溃都不会影响到Apache本身。通常对于静态文件服务器,站长们似乎都推荐使用Nginx。
当然,Apache其实也提供了Worker模式,允许一个进程中通过多线程来处理多个链接,与Nginx的工作方式相似。但正如作者在书中说的,Apache的worker模式是比较尴尬,使用者比较少,通常人们都会直接投奔其他轻量级的Web Server,如Nginx。
# References
[构建高性能Web站点](http://book.douban.com/subject/3924175)
[Web server调研分析 ]( http://stblog.baidu-tech.com/?p=755)
[Apache Prefork、Worker和Event三种MPM分析]( /article/4666210.html)
相关文章推荐
- 吞吐率、吞吐量、TPS、性能测试,纸上不谈兵----一步一步构建高性能 Web 站点
- 构建高性能Web站点(修订版) 完整pdf扫描版
- 构建高性能WEB站点(一)
- 构建高性能WEB站点之 吞吐率、吞吐量、TPS、性能测试
- 构建高性能web站点笔记一
- 《构建高性能 Web站点》笔记
- 利用NLB和DFS构建企业高可用性高性能的WEB、FTP站点
- [原创]构建高性能的Web站点
- 回顾2014.03之构建高性能web站点
- 构建高性能的web站点学习笔记四------浏览器缓存
- 构建高性能的web站点学习笔记五------Web服务器缓存
- 2、构建高性能WEB站点-组件压缩
- 构建高性能WEB站点(二)
- 读书笔记-构建高性能Web站点
- 构建高性能web站点——缓存
- 构建高性能web站点--2012-04-05
- [读书笔记]构建高性能web站点
- 构建高性能Web站点(读书笔记)
- 构建高性能的web站点学习笔记二------数据库扩展
- 构建高性能的web站点学习笔记六------反向代理缓存