关于web服务器的并发性能,到底应该怎么测试,衡量以及改进

2012-10-26 18:47:03 +08:00
 zhangxiao
客户的需求经常是

* 我们要有100w的注册用
* 我们每天会有大于1000w的访问
* 我们需要支持10000人同时在线

诸如此类的说法,但是如何把这些数据转化为一个可以衡量的标准呢?

测试的工具一般就用ab,siege或者jmeter,这些工具里一般可以设置并发量,测试循环次数等等,但是一直不清楚怎么设置算是模拟了上述的那些要求。

还有就是,如果发现性能问题了,应该从哪里入手解决,如何发现瓶颈。

希望大家来讨论讨论。
3115 次点击
所在节点    服务器
2 条回复
zhangxiao
2012-10-27 11:47:18 +08:00
自己顶一下,没人讨论讨论么
qiuai
2012-10-27 11:55:47 +08:00
几点需要说清楚.
100W的注册量,这个只跟空间和数据库有关系,跟其他关系不大,只要程序做好分表什么的就可以.
1000W的访问,是PV吧.折合一下,只算16个小时的有效访问量时间,一秒钟173个PV.平均每个PV按照300K的传输量来算,大概需要50M的带宽,加上备用,至少要到60MB的有效带宽.
所谓支持10000人同时在线,并不是10000人同时刷新.不认为这个有参考价值.如果真有哪个社区10000人同时刷新,那么需要准备的带宽就是3000MB...这个时候带宽甚至不作为瓶颈了,硬盘IO才是瓶颈,如果要做到这样的数量级,就不是这么简单的了.

并发测试用AB就可以.往往都达不到ab的数值就死掉了.
ab如果测试每天1000W的访问,你就算出来并发是多少,然后用AB去发起足够的并发.
其他工具没用过.

带宽瓶颈解决一般是用CDN,多机分担等.
IO瓶颈解决一般是读写分离,高速硬盘等.

以上是我的理解.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/50979

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX