西西河

主题:【讨论】nginx 还是 apache? -- 铁手

共:💬36 🌺49
全看分页树展 · 主题 跟帖
家园 我来试试分析一下,抛砖引玉吧

首先一个像西西河这样需要查询数据库的网站,bottleneck永远在数据库这边, NGinx这种所谓的支持大并发(每秒几万次甚至几十万次请求),只适用于门户网站之类的静态网页,比如新浪新闻之类,谁上网看到的都是这些东西。总之NGinx就是把所有的内容load进memory里面,然后threading的数量和CPU的数量相等;明摆着这就是个CPU bound的设计,根本考虑file I/O或者database I/O.

一般的动态网页(比如Amazon)这种highly personalized的网站,NGinx不能用,还是得LoadBalancer后面带上一串Tomcat,甚至几级LoadBalancer.道理很简单,一次数据库查询(如果数据库在另一台机器上),你能做到200ms的response time就很不错了,当然memcached会快一点,也要70-80ms左右。每秒几十万次查询?先看看你的数据库能不能顶住吧。

说到内存,tomcat JVM 内存都在4G到6G左右,足够了。注意Sun的JVM是generational GC的, 所以内存不够肯定是程序问题或者JVM的GC配置问题。

我做过的系统如果用LB的话,基本上带上两三个Tomcat, 支持每秒上千次并发没问题,这还是有很多数据库查询操作的情况下。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河