如何准确估算并发数?

http://blog.sina.com.cn/s/blog_544b2b160100gof6.html


这次活动带给我最深刻的印象就是:由于业务流程中的预见性准备不足,导致用户大量流失、后期硬件资源过剩造成浪费,但最恐怖的还是连随附带的负面影响。为此,在日后举行大型活动前,必须得从用户使用的角度、从程序承受能力、及活动的目的几方面考虑。

    而目前最让人头疼的就是如何才能够准确地估算用户情况,避免同类情况的发生?这里需要先了解并确认以下几个数据:

同时在线用户数:
平均并发数:
并发用户数峰值:

    在实际的性能测试工作中,测试人员一般比较关心的是业务并发用户数,也就是从业务角度关注究竟应该设置多少个并发数比较合理,因此,在后面的讨论中,也是主要针对业务并发用户数进行讨论,而且,为了方便,直接将业务并发用户数称为并发用户数。

        (1)  计算平均的并发用户数: C = nL/T    
                 即:平均并发数=总用户数*用户在线时长/总工作时间  

        (2)  并发用户数峰值: C’ ≈ C+3*SQRT(C)

                 即:峰值并发数=平均并发数+3*(平均并发数^1/2)
    公式(1)中,C是平均的并发用户数;n是login session的数量;L是login session的平均长度;T指考察的时间段长度。

    公式(2)则给出了并发用户数峰值的计算方式中,其中,C’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的login session产生符合泊松分布而估算得到的。

实例:

    假设有一个OA系统,该系统有3000个用户,平均每天大约有400个用户要访问该系统,对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。

则根据公式(1)和公式(2),可以得到:

               C = 400*4/8 = 200

               C’≈200+3*根号200 = 2421

估算处理能力,通常用TPCC值,即每分钟处理请求。每个服务器也把TPCC值作为指标。这与以下因素有关:
1,并发用户数?(U1)
2,用户访问模式:每分钟每个用户发出的业务请求个数,例如0.2个(N1)
3,这些业务请求中,
如果是数据库服务器,就统计查询、更新、统计占比,
如果是Web服务器,可统计,例如连接跳转、添加操作、删除操作、更新操作,查询操作除各占1/5
4,业务请求引起的事务数量
例如, 平均每次页面跳转操作产生6个事务(T1),平均每次添加操作产生8个事务(T2);平均每次删除操作产生8个事务(T3);平均每次更新操作产生14个事务(T4); 平均每次查询操作产生10个事务(T5);
5,忙时数量是平均值几倍,例如5倍
6,经验系数,例如1.8
7,服务器保留多少冗余,一般是30%
  TPC-C=U1*N1*(T1+T2+T3+ T4+ T5)/5*3*经验系数/冗余系数


  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值