首页 > 弱弱的问,并发100,连续1200次请求的响应时间须在1秒内的硬件配置档次?

弱弱的问,并发100,连续1200次请求的响应时间须在1秒内的硬件配置档次?

这个问题,我是思考了很久才鼓起勇气问的,我想不少人看到这种问题,一般都会冷笑+鄙视吧!以前我看到这种帖,也都不会理会!但没想到今天轮到我问了!

大概场景是,公司的一个项目,领导提了一个指标:并发100下的响应时间在1秒内!但给我的机器是一台价值3000的ibm台式机,配置为:Inter Pentium CPU G840 2.8ghz双核,2G内存,其他配置我没查!

centOS6.3 64bit的系统,NAMP的环境,安装了常用的优化工具,例如eAccelerator!

项目代码量大概在5W左右,数据量不大(2W内),业务复杂度中等,主要是一些数据库存储操作,数据库方面也做了一些必要的索引优化!项目在自己开发的框架上跑,框架会初始化大概七八个组件用来提供业务逻辑使用。

我之前没有什么运维经验,对压力测试也不是很熟悉!我在网上搜了不少帖,我主要是想知领导提的那种负载,对硬件的配置要求,个人感觉代码有优化的空间,但即使如此,在这种硬件环境下也很难达到那种标准吧?

希望我打了这么多字,能消除大家多这种问题的反感,并希望得到回复~先谢谢了!


做内存cache, memcache, apc, xcache 提供的cache功能都可以,eAccelarator不知道有木有……2w的数据量,cache不用开很大,有个16M就行了

不过,你这配置,1200次请求在1秒内完成还是有难度,不涉及页面渲染的话,倒是有戏,如果有页面,尽量别用smarty……

如果你的1200次全是数据库的修改+插入操作,且你的mysql也是这台破台式机,呃,那就请你节哀……如果可以延缓写入,可以做个写队列,慢慢写db……


1. 你这台机器用作PHP应用服务器肯定做不到"100并发每个网页请求1秒内响应"
2. 领导给你的只是一台开发用的机器,不是性能测试机器,更不会用作生产环境的服务器,要知道台式机在IDC机房是按4U高度收钱的,一年的托管费至少1万2。如果是公司内网应用,肯定到不了100个并发,除非贵公司是中石油。就算是对外提供服务,看你们的数据规模(2W行),三年内也是到不了100个并发的,除非贵公司是某省的12306的独家代理
3. 年轻人遇事淡定点,别用那么多感叹号

我刚才随手测试了一下,供参考:
ab -n 1200 -c 30 "http://detail1.web/index.php?module=s... //就是这个页面:http://detail.kinhom.com/index.php?mo...

结果如下:

Requests per second: 52.52 [#/sec] (mean)
Time per request: 571.251 [ms] (mean)
Time per request: 19.042 [ms] (mean, across all concurrent requests)
Transfer rate: 2452.83 [Kbytes/sec] received

Percentage of the requests served within a certain time (ms)
50% 538
66% 582
75% 611
80% 634
90% 694
95% 753
98% 818
99% 979
100% 3718 (longest request)

我的硬件配置:
WEB机(虚拟机):一核,2线程(Intel超线程),2G内存。30并发测试时load为5.7,无SWAP占用。有EA opcode cache,无应用级缓存,lotusphp框架(所有PHP写的框架里面最快的)
DB机(虚拟机):2核,4线程,8G内存
宿主机为6块15000转 SAS硬盘,RAID5

30个并发,只算HTML代码带宽消耗就达到20Mbps了,一年最少5万块的带宽费,如果还有图片的话,带宽费再乘以10。真到了这个访问规模的时候,肯定不会只用一台3000块的台式机了

【热门文章】
【热门文章】