您的位置:首页 > 其它

[拇指飞动]构建高性能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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: