课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
性能测试在互联网软件开发项目中是非常重要的一个环节,而今天我们就一起来了解一下,如果软件出现性能问题都有哪些解决方法。
在性能测试过程中,如果出现性能问题,需要测试人员重点关注资源指标和系统指标或者应用性能数据,系统指标是直接观测到的测试数据,比如响应时间过长,事物请求成功率低,超时错误率高等等。当系统指标出现问题时一般会表现在资源指标上,比如cpu高,内存占用多,网络宽带占用高,连接数多等。
当观测到系统资源异常时,比如响应时间长,事务成功率低,超时错误率高等情况时。应该先查应用相关信息,比如日志,应用监控、数据库等等信息,如果这些信息没有问题,再对资源信息进行分析。资源信息分析如下。CPU问题分析:一般情况下CPU满负荷工作,有时候并不能判定为CPU出现瓶颈,比如Linux总是试图要CPU尽可能的繁忙,使得任务的吞吐量大化,即CPU尽可能大化使用。因此,一般判断CPU为瓶颈,主要从两方面:一是CPU空闲持续为0,二是运行队列大于CPU核数(经验值3-4倍),即可判定存在瓶颈,对于CPU高消耗主要由什么引起的,可能是应用程序不合理造成,也可能是硬件资源不足,需要具体问题具体分析,比如问题SQL语句引起,则需要跟踪并优化引起CPU使用过高的SQL语句。内存问题分析:一般至少有10%可用内存,内存使用率可接受上限为85%。当空闲内存变小时,系统开始频繁地调动磁盘页面文件,空闲内存过小可能是内存不足或内存泄漏引起,需要根据系统实际情况监控分析。
磁盘I/O问题分析:磁盘I/O对于数据库服务器、文件服务器、流媒体服务器系统来说,更容易成为瓶颈,一般从以下几个方面对磁盘I/O进行分析判断:
每磁盘I/O数可用来与磁盘的I/O能力进行对比,如果经过计算得到的每磁盘I/O数超过了磁盘标称的I/O能力,则说明确实存在磁盘的性能瓶颈。监控磁盘读写,如果磁盘长时间进行大数据量读写操作,且cpu等待超过20%,则说明磁盘I/O存在问题,考虑提高磁盘I/O读写性能。网络带宽问题分析:判断网络带宽是否是系统运行性能瓶颈的要条件是网络带宽是否会影响系统交易执行性能。例如:减小网络带宽,并发用户数、响应时间与事务通过率等性能指标是否不能接受;或者增加网络带宽,并发用户数、响应时间与事务通过率等性能指标会得到明显提高。
在实际性能测试中,如果发现始终报连接超时,而实际手工访问可以正常访问,可以通过ping应用服务器IP或网关IP,如果出现网络严重延迟或丢包,则说明网络不稳定,需要检查网络。
通过对资源指标的分析,实际上各个方面都是互相依赖的,不能孤立的单从某个方面进行排查。当一个方面出现性能问题时,往往会引发其他方面的性能问题,例如,大量的磁盘读写势必消耗CPU和IO资源,而内存的不足会导致频繁地进行内存页写入磁盘、磁盘写到内存的操作,造成磁盘IO瓶颈,同时,大量的网络流量也会造成CPU过载,所以,在分析性能问题时,需要从各个方面进行考虑。软件性能测试是执行、监控、分析、调优不断进行的过程,即监控是为分析提供更多的参考数据,分析是为了进行调优,调优是解决当前系统存在的性能瓶颈,为用户提供更好、更快的客户体验。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。