系统并发量理论计算方法

1.业务并发用户数;2.最大并发访问数;3.系统用户数;4.同时在线用户数;
假设一个OA系统有1000用户,这是系统用户数;

  • 最高峰同时有500人在线,是“同时在线人数”,也称作“最大业务并发用户数”;
  • 500个同时使用系统用户中20%查看系统公告,不构成压力;
  • 20%填写表格(只在提交时才会请求,填写对服务器不构成压力);
  • 40%在发呆(什么都没做);
  • 20%用户不停从一个页面跳转另一个页面(只有这20%对服务器产生了压力)。

说明服务器实际压力,能承受的最大并发访问数,既取决于业务并发用户数,还取决于用户的业务场景,这些可以通过对服务器日志的分析得到。

一般只需要分析出典型业务(用户常用,最关注的业务操作)
给出一个估算业务并发用户数的公式(测试人员一般只关心业务并发用户数)

  • C=nL/T
  • C^=C+3×(C的平方根)

C是平均的业务并发用户数、n是login session的数量、L是login session的平均长度、T是指考察的时间段长度、C^是指业务并发用户数的峰值。
该公式的得出是假设用户的login session产生符合泊松分布而估算得到。
假设OA系统有1000用户,每天400个用户发访问,每个登录到退出平均时间2小时,在1天时间内用户只在8小时内使用该系统。
C=400×2/8=100
C^=100+3×(100的平方根)=100+3×10=130
另外,如果知道平均每个用户发出的请求数u,则系统吞吐量可以估算为u×C

请注意:精确估算,还要考虑用户业务操作存在一定的时间集中性(比如上班后1小时内是OA系统高峰期),采用公式计算仍然会存在偏差。针对例子OA系统可以把1小时设定为考察时间的粒度,将一天8小时划分为8个区间,这样可以解决业务操作存在集中性问题,更趋于精准,偏差更小。

from :http://www.cnblogs.com/HD/p/3721707.html

### 性能测试中并发量计算方法 在性能测试中,计算并发量是评估系统性能的重要环节。以下是几种常见的计算方法及其理论依据: #### 1. 平均并发用户数计算 平均并发用户数可以通过以下公式计算: \[ C = \frac{nL}{T} \] 其中: - \( C \) 是平均并发用户数; - \( n \) 是一天内访问系统的用户总数[^3]; - \( L \) 是每个用户从登录到退出的平均时间(以秒为单位)[^3]; - \( T \) 是一天内系统运行的时间长度(以秒为单位)[^3]。 #### 2. 并发用户峰值计算 并发用户峰值可以通过泊松分布理论进行估算,公式如下: \[ C^{\wedge} \approx C + 3\sqrt{C} \] 其中: - \( C^{\wedge} \) 是并发用户峰值; - \( C \) 是平均并发用户数; - 公式中的 \( 3\sqrt{C} \) 表示标准差的三倍,用于估算峰值波动范围。 #### 3. 初始压力测试并发用户数估算 在实际测试中,初始压力测试的并发用户数可以通过以下方法确定: - 根据系统的历史数据或业务需求,估算出一天内的总访问用户数 \( n \) 和平均会话时长 \( L \)[^1]。 - 结合系统的运行时间 \( T \),使用公式 \( C = \frac{nL}{T} \) 计算出平均并发用户数。 - 在此基础上,根据系统复杂度和历史数据调整并发用户数,确保测试结果能够反映真实场景下的性能表现[^1]。 #### 4. 基于业务场景的并发量估算 除了数学公式外,还可以结合具体的业务场景进行估算。例如,对于电商系统,在促销活动期间的并发量可能会远高于日常水平。因此,需要分析业务高峰期的用户行为模式,并据此调整并发量设置[^2]。 ### 示例代码:基于 JMeter 的并发量模拟 以下是一个简单的 JMeter 脚本示例,用于模拟并发用户数: ```java import org.apache.jmeter.engine.StandardJMeterEngine; import org.apache.jmeter.save.SaveService; import org.apache.jorphan.collections.HashTree; public class JMeterTest { public static void main(String[] args) throws Exception { StandardJMeterEngine jmeter = new StandardJMeterEngine(); HashTree testPlanTree = SaveService.loadTree(new java.io.File("test.jmx")); jmeter.configure(testPlanTree); jmeter.run(); } } ``` 上述代码通过加载 JMeter 测试计划文件(`test.jmx`),模拟指定数量的并发用户进行性能测试[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值