整体性能测试剖析
作者:网络转载 发布时间:[ 2013/2/28 10:54:17 ] 推荐标签:
【摘要】性能测试不只是测试人员的事情,只有通过不同阶段不同参与人的通力合作才能把性能测试做好。
【关键词】性能测试性能优化 DBA
随着项目越来越大,性能问题层出不穷。如何做好性能测试成为测试人员经常讨论的话题。很多时候,大家都在疑惑性能测试如何来做,性能标准从那里来,有没有通用的标准,性能测试由谁来做,如何规划。首先我们了解一下,什么是性能测试。性能测试的目的:通过性能测试了解系统的性能有没有满足需求,对于不满足需求的模块则通过测试发现可能的性能瓶颈,并进行相应的性能调优,从而达到终用户的要求。由于项目巨大,所以性能测试不仅仅是测试人员的事情,可能需要整个项目组的参与,而测试人员则更需要清晰的了解到性能测试分几个阶段,每个阶段如何来做,需要协调那些资源?
在性能测试的每一个阶段,性能测试的参与人是不一样的,下面的图是不同阶段的人员参与表。
性能测试人员图
从上图中可以看出,其实性能测试不是一个人可以搞定的事情,在需求阶段,制定性能初步的标准则需要需求人员的协助,了解那些场景是重要的,大约有多少人用,有多大数据量;而在设计场景时不仅要从需求中设计出必需要测试的场景,有时候需要通过功能测试人员了解,他们在测试过程中那些场景运行的比较慢。而运行脚本时,则需要SA(System Administrator系统管理员,编者注),程序员帮你增加分析所需要的性能指标,而DBA(DataBase Administrator数据库管理员,编者注)则增加数据库监控的参数。在分析结果的阶段则需要三者相互灵活的配合,当发现性能问题时,可能会根据程序员或DBA的要求,不断的调整监控的参数,以便更精确的定位问题。而在优化阶段,则是找出性能的瓶颈并优化,更需要多方的配合,不仅仅是测试。
在性能测试前期,也是上图的前三个阶段,重点需要了解,系统有那一些重要的功能模块,大约的用户是多少,用户的行为是如何分布的,每个模块的使用频度,大约的数据量,使用什么样的硬件,系统稳定性的要求等等。当然需求人员不是专业的测试人员,这时专业性能测试人员是跟据需求人员大致的描述或是文档,提取出这些重要信息,建立系统模型。下面的一份表是某个大型系统邮件模块的数据模型:
序号 |
分类 |
项目 |
数据 |
单位 |
1 |
统计数据及经验数据 |
A:总用户数 |
5,000,000 |
个 |
2 |
B:激活用户比例,每天访问用户数点总用户数的比例 |
60% |
||
3 |
C:每个激活用户邮件数 |
50 |
封 |
|
4 |
D:每个用户每天收到信数 |
8 |
封 |
|
5 |
E:每个用户每天发送信数 |
6 |
封 |
|
6 |
F:系统高峰时间(小时) |
4 |
小时 |
|
7 |
G:高峰时间内收发的邮件数占总邮件数 |
50% |
||
8 |
H:每个用户每天收发件次数 |
6 |
次 |
|
9 |
J:每封邮件大小平均为(K) |
30 |
Kbyte |
|
10 |
K1:据统计,使用WEBMAIL的用户数百分比: |
70% |
||
11 |
K2:使用邮件客户端软件的用户数百分比: |
28% |
||
12 |
K3:使用IMAP用户数百分比: |
2% |
||
13 |
L:平均每通过web访问一封信,大约要访问页面数为: |
4 |
个 |
|
14 |
M:假定每个页面大小约为 |
30 |
Kbyte |
|
15 |
N:通过本系统向外转送百分比 |
75% |
||
16 |
O:发送给本系统的邮件百比分 |
25% |
||
17 |
Q:系统峰值时CPU利用率 |
60% |
||
18 |
||||
19 |
处理能力计算 |
POP的处理能力=A*K2*B*D*G/(F*3600) |
52.78 |
封/秒 |
20 |
POP流出系统量=(POP的处理能力*J) |
1.58 |
Mbyte/s |
|
21 |
HTTP的收信件处理能力=A*K1*B*D*G/(F*3600) |
83 |
封/秒 |
|
22 |
HTTP的发信件处理能力=A*K1*B*D*G/(F*3600) |
62.5 |
封/秒 |
|
23 |
HTTP流出系统量(平均页面大小*页面数* HTTP处理能力) |
9.96 |
Mbyte/s |
|
24 |
HTTP流入系统量(HTTP发信数*J) |
1.88 |
Mbyte/s |
|
25 |
SMTPIN(从其它系统收到邮件)=A*K2*B*D*G/(F*3600) |
52.78 |
封/秒 |
|
26 |
SMTPCLIENT(客户端发送系统)=A*B*E*G/(F*3600) |
104.17 |
封/秒 |
|
27 |
SMTPOUT(发送到其它系统)=A*B*E*G*N/(F*3600) |
78 |
封/秒 |
|
28 |
SMTP平均发信(SMTPIN+SMTPCLIENT+SMTPOUT) |
134 |
封/秒 |
|
29 |
SMTP流入量=(SMTPIN+SMTPCLIENT)*J |
4.68 |
Mbyte/s |
|
30 |
SMTP流出量=(SMTPOUT*J) |
2.03 |
Mbyte/s |
|
31 |
高峰时期邮件平均流入量 |
6.56 |
Mbyte/s |
|
32 |
高峰时期邮件平均流出量 |
13.57 |
Mbyte/s |
|
33 |
高峰时期邮件平均总流量 |
20.13 |
Mbyte/s |
|
34 |
系统带宽要求(流量×8(含协议数据)) |
160 |
Mbit/s |
|
35 |
|
|
|
|
36 |
并发数计算 |
POP高峰并发数目=A*K2 * B*H*G/(F*3600) 次/秒 |
39.58 |
次/秒 |
37 |
SMTP高峰并发数目=A*B*(D+E)*G/(F*3600) 次/秒 |
183.06 |
次/秒 |
|
38 |
HTTP高峰并发数目=A*B* (D+E)*K*L*G*O/(F*3600)次/秒 |
145 |
次/秒 |
|
39 |
IMAP高峰并发数目=A*D*K3*B*I*G/(F*3600)次/秒 |
0.35 |
次/秒 |
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11