课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
任何的测试项目都是有测试指标存在的,而今天我们就一起来了解一下,性能测试指标与常见问题分析。希望通过对本文的阅读,大家对于性能测试能够有更全面的认识,下面我们就开始今天的主要内容吧。
1.性能测试指标
通常来说我们会关注如下的性能测试指标。
响应时间:比较熟悉的就是2-5-8原则(据统计当网站慢一秒就会流失十分之一的客户),通常来说,2到5秒,页面体验会比较好,5到8秒还可以接受,8秒以上基本就很难接受了。但是有的项目也会例外,比如从海量的数据中去查询某些数据,或者生成报告(年度报告),这种可能就不太适合2-5-8原则,但是前提是要管理好客户的期望。
吞吐量:指的是在单位时间内客户端和服务器成功传送数据的数量
并发:客户/服务端同一批用户同时执行一个操作的数量
资源使用率:通常来说,我们关注的资源就是几大块:内存、CPU、I/O和网络
成功率:比如在某些情况下,API调用的成功率
当了解了我们所需要关注的性能指标,就可以来定义具体的性能测试指标了。
2.内存泄露
内存泄露是性能测试中很常见的一个点,当看到有一个内存上升的趋势,这种情况下很可能就有内存泄露的情况。但是也有例外,比如是C#或者Java写的代码,因为内存回收是垃圾回收器自己的行为,不像C语言那样需要手动回收,所以即使内存在一段时间内有上升的趋势,但是只要能回到原点,就不存在内存泄露的现象。
内存泄露很多时候并没有很明显的征兆,有一次客户抱怨服务挂掉了,这个服务之前有好几个月都运行的好好的,怎么说挂就挂呢,然后我们对系统日志做了很详细的分析,发现就是内存泄露惹的祸。每天内存泄露一点点,到三个月的时候才导致服务崩溃,这在短期的性能测试中就很难发现。
3.API响应速度慢
这是一个很常见的问题,单单看现象,其实我们并不知道系统是哪里出的问题,有可能是网络慢,有可能是内存出现了瓶颈,也有可能是I/O的问题...怎样定位呢?
先我们还是找到相应的apiserver,通过性能测试的报告,我们发现了下面的问题,messagequeue随着时间的变化增长特别快,这个时候看APIserver本身的内存和CPU并没有什么问题,那么问题到底处在哪呢?
这个时候其实很容易就联想到是数据库出现了问题,对比两个不同的版本,发现我们对数据库的存储过程有所更改,终发现是存储过程的更改导致了某个索引失效,终反映到API就是速度明显变慢。添加索引后问题得到了解决。一般来说,当我们在修改数据库的时候一定要特别小心,很可能一个小的改动就会导致系统性能的急剧下降。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!