apache+php 与 nginx+php,哪个好?看我的经历!
本帖最后由 chlinux 于 2012-03-08 18:46 编辑这台服务器每天跑300万的pv,环境是apache+php,基本都是动态页面很少的图片
这台服务器每天跑1000万的pv,注意一点,这台服务器程序和下面那台nginx的程序完全一致。
最后这台每天跑300万的PV,环境是nginx+php
经过上面几张截图应该有个结论了吧?
之前我一直听说nginx+php比apache+php快多少多少倍之说,大家可能也看到个那个博文,但在我这儿测试怎么就相反了呢?难道网上提到的测试,只包括静态页面的测试?
我有些疑问,所以发上来大家讨论。 本帖最后由 chlinux 于 2012-03-11 11:07 编辑
光看帖不回帖啊?帖写的比较匆忙,本以为会有人响应的,没想这里现在这么冷清啊。
apache2.0--apache2.2单位进程占用的内存确实比nginx+php高,似乎网上的博文只比较同等内存如何如何,如果内存足够大,但cpu、硬盘能力有限时,结果又怎么样呢?现在内存很便宜,我们可以直接上它几十个G。
一个好消息,apache2.4已经出来了,官方说性能如何如何的提高了,改善了内存等方面的问题,只装了环境,还没有实战测试php5.3还是和php5.2有些差别的,程序不兼容,还没时间改,据说php5.3不是从php5.2来的,是从php5.0进化来的,还没细研究。
“程序不兼容”,这个问题搞清楚了,不是环境的问题,但也是环境的问题,根源是程序的问题,只是php5.2没有把有问题的程序检测出来,照样给按正确的语法给运行了,但php5.3比较严格,给报出错误了,
错误的代码:
public static public static function functionname(){}
还有date的使用问题,5.3也给出警告了。要设置 date_default_timezone_set('Asia/Shanghai'); 或者配置文件中配置。
top看不出什么问题
建议你用压力测试测试一下 严重不同意你的观点,为什么我的问题都是从top参数发现的呢? 回复 3# yugangyi
压力测试,是很片面的测试,很难找到真正能模拟并发的软件,另外,测试也不够全面,有bug的程序不一定能测试到,可能只有在特定的条件下才会出现的bug,这些是压力测试无法测试到的,top,是个不错的工具,很直观的检测到你的程序质量,运行状态,不光是运行环境质量。 内存小用nginx。
如果内存大,就无所谓了。 chlinux 发表于 2012-03-08 18:46 static/image/common/back.gif
这台服务器每天跑300万的pv,环境是apache+php,基本都是动态页面很少的图片
谢谢分享啊,呵呵 本帖最后由 chlinux 于 2012-03-11 11:02 编辑
回复 6# maochanglu
这个说法我也不太同意啊,呵呵,经过几天的比较,现在看这样的组合更好些。
配置nginx+apache 其中动态由apache处理,静态由nginx处理
现在看,apache+php处理动态页面要比nginx+php要强,这样的结论和我之前帖出的实际运行结果相一致。
我打算安装一下apache2.4.1+php5.3.10来测试一下,据说是优化了内存使用的问题,具体如何还要测试后才知道。 :victory:顶!一直用惯了apache+mysql+php,希望apache给力! 回复 5# chlinux
怎么会没有模拟并发的软件呢?你应该找找专业的测试人员或者运维人员,另外模拟软件没有,可以写并发测试程序,你可能只是一个php程序员吧,找个有服务器并发应用开发经验的程序员,跟你好好讲解一番。一天几百万pv,估计并发连接数不到一千,高峰期可能也就几千的并发,满足这点并发量的软件还是不少的。