[性能测试笔记]性能调整的步骤
本笔记针对性能调整的基础知识,性能调整的顺序,主要包括下面5个步骤:
1.确定问题
首先根据测试结果确定系统是否存在问题,重点是发现系统的瓶颈。如存在,进一步确定是神马问题,并对问题进行正确的定位。确定系统问题可以从下面几个方面入手:
a. 检查应用程序的代码
b.调整数据库配置
数据库配置经常会引起整个系统运行缓慢,一些诸如oracle的大型数据库都需要DBA进行正确的参数调整才能投产;
c.调整操作系统的配置
d.检查硬件设置
磁盘速度、内存大小等都是引起瓶颈的原因,
e.检测网络
网络负载过重会导致网络冲突和网络延迟,同时还需要对系统的使用情况进行调查。
例如:是否听到了很多用户的抱怨?
某些操作的响应时间是否随着使用时间的增长而增长?
CPU的使用率是否很低而I/O的使用率却很高?
使用过程中性能是否稳定?
2.确定原因
确定系统存在问题后需要仔细分析,进而确定引起问题的原因。涉及的知识有操作系统、数据库、网络、程序开发等
通常要进行以下分析:
a.问题的影响是什么:响应速度还是吞吐量,或者是其他问题?
b.问题是否集中在某一类模块中?
c.是客户端还是服务端出现问题?
d.系统硬件配置是否合理?
e.实际负载是否超过了系统的负载能力?
f.是否未对系统进行优化?
3.确定调整目标和解决方案
在分析出问题发生的原因后,测试人员和系统调整人员首先要确定调整目标,然后设计解决方案。
确定调整目标的主要作用是明确何时停止系统调整,否则工作将永无尽头。
下面这些是系统的调整目标:
a.提高系统的吞吐量
b.缩短响应时间
c.更好的支持并发
4.测试的解决方案
实施解决方案后,要对方案进行测试。
可以使用以前的测试用例来进行测试,验证系统是否解决了性能问题。
测试方案要尽量在仿真环境下进行,因为在生产环境下可能会带来破坏,除非充分估计了测试的风险,并且准备了万全的补救方案。
5.分析调整结果
性能调整的最后一步是分析调整结果,如果问题没有得到解决,则要重复前面的工作。
分析结果时主要考虑下面的问题:
a.系统调整是否达到或超出了预定目标?
b.系统是整体性能得到了改善,还是牺牲了某部分性能来解决问题的?
c.调整是否可以结束了?