V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhangxiao
V2EX  ›  服务器

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

  •  
  •   zhangxiao · 2012-10-26 18:47:03 +08:00 · 3194 次点击
    这是一个创建于 4417 天前的主题,其中的信息可能已经有所发展或是发生改变。
    客户的需求经常是

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

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

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

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

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

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

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

    以上是我的理解.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1036 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:30 · PVG 03:30 · LAX 11:30 · JFK 14:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.