输入“/”快速插入内容

性能测试入门

1.
不同角色看网站性能
1.1
用户
当用户打开一个网址时,往往最关注网站的响应速度。用户再体验我们系统时往往过呢据响应速度的快慢来评判网站的性能
1.2
开发人员
处理用户请求的速度。开发人员一般会根据网站当前的架构以及基础设施情况评估网址性能
1.
项目架构分布式
2.
用到了缓存、消息队列
3.
高并发业务是否特殊处理
4.
数据库设计是否合理
5.
系统用到的算法是否需要优化
6.
系统是否存在泄露问题
7.
项目使用的Redis缓存多大
8.
服务器性能如何
1.3
测试人员
一般根据性能测试工具,根据以下指标评估
1.
响应时间
2.
请求成功率
3.
吞吐量
4.
....
1.4
运维人员
运维人员会倾向于根据基础设施和资源的利用率来判断网站的性能,如我们的服务器资源使用是否合理、数据库资源是否存在滥用。
2.
性能测试需要注意的点
2.1
系统业务场景
对系统业务了解的不够深刻,我们很容易犯测试方向偏执的错误,从而导致我们忽略了对系统某些更需要性能测试的地方进行测试。比如我们的系统可以为用户提供发送邮件的功能,用户配置成功邮箱后只需输入相应的邮箱之后就能发送,系统每天大概能处理上万次发邮件的请求。很多人看到这个可能就直接开始使用相关工具测试邮箱发送接口,但是,发送邮件这个场景可能不是当前系统的性能瓶颈,这么多人用我们的系统发邮件, 还可能有很多人一起发邮件,单单这个场景就这么人用,那用户管理可能才是性能瓶颈吧
2.2
历史数据非常有用
当前系统所留下的历史数据非常重要,一般情况下,我们可以通过相应的些历史数据初步判定这个系统哪些接口调用的比较多、哪些 service 承受的压力最大,这样的话,我们就可以针对这些地方进行更细致的性能测试与分析。
另外,这些地方也就像这个系统的一个短板一样,优化好了这些地方会为我们的系统带来质的提升
3.
性能测试的指标
3.1
响应时间
响应时间:用户发出请求到用户收到系统处理结果所需要的时间
3.2
并发数
并发数:系统能同时处理请求的数目即同时提交请求的用户数目
3.3
吞吐量
吞吐量:系统单位时间内系统处理的请求数量。衡量吞吐量有几个重要的参数:QPS(TPS)、并发数、响应时间。
1.
QPS(Query Per Second):服务器每秒可以执行的查询次数;
2.
TPS(Transaction Per Second):服务器每秒处理的事务数(这里的一个事务可以理解为客户发出请求到收到服务器的过程);
3.
并发数;系统能同时处理请求的数目即同时提交请求的用户数目。
4.
响应时间:一般取多次请求的平均响应时间
QPS(TPS) = 并发数/平均响应时间