XXXX科技公司
名称:XXX性能测试 告
目 录
1 概述 1
1.1性能测试概念 1
1.2性能测试目的 1
1.3性能测试目标 1
1.4性能测试的常见分类 1
2 系统简介 2
2.1参考资料 2
2.2要做的测试 2
2.3测试环境 2
3 测试指标 2
3.1 Jmeter指标 2
3.2 硬件指标 2
4 测试工具和测试策略 3
5 测试结果数据以及截图 3
5.1 Jmeter 性能指标 3
5.2 硬件指标 4
6 测试结论 4
6.1 Jmeter性能指标分析 4
6.2 服务器硬件信息监控数据分析 4
1 概述
1.1性能测试概念
性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统的各项性能指标的变化情况。压力测试是通过一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
1.2性能测试目的
性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,以优化软件,最后起到优化系统的目的。
1.3性能测试目标
从安全,可靠,稳定的角度出发,找出性能缺陷,并且找出系统最佳承受并发用户数,以及并发用户数下长时间运行的负载情况,如并发100用户,如何对系统进行调优
性能测试主要包括一下几个方面:
(1)评估系统的能力:测试中得到的负荷和响应时长数据可以被用于验证所计划的模型的能力,并帮助做出决策。
(2)识别体系中的弱点:受控的负荷可以被增加到一个极端的水平并突破它,从而修复体系的瓶颈或薄弱的地方。
(3)系统调优:重复运行测试,验证调整系统的活动是否得到了预期的结果,从而改进性能。
(4)检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄漏引起的失败,揭示程序中隐含的问题或冲突。
(5)验证稳定性、可靠性:在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。
1.4性能测试的常见分类
(1)负载测试:负载测试是指通过测试系统在资源超负荷情况下的表现,来发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作条件下的性能行为,以及持续正常运行的能力。负载测试的目的是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,如响应时长、事务处理速率和其他与时间相关的性能指标。
(2)压力测试:在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个web站点在大量的负荷下,何时系统的响应会退化或失败。
(3)容量测试:容量测试确定系统可处理同时在线的最大用户数。
2 系统简介
2.1参考资料
性能相关的测试资料
2.2要做的测试
例如:数据库服务器,支持整个系统对数据的存储过程
2.3测试环境
(1)硬件环境
(2)软件环境
3 测试指标
测试时间:
测试范围:数据库处理服务器或客户端请求信息(插入、更新、删除)语句时,服务器各项性能指标的性能测试
3.1 Jmeter指标
(由于Apache旗下性能测试工具jmeter收集的性能指标偏少,下面的数据库选取代表性指标)
(1)Averge/ms:服务器处理事务平均响应时间(表示客户端请求到服务器处理信息且反馈客户端的时间)
(2)Throughput/s:服务器每秒处理请求数(表示服务器每秒处理客户端请求数(单位:个/秒))
(3)Error%:采样发生错误的比率
(4)KB/s:服务器每秒接收到的数据流量(表示服务器每秒接收到客户端请求的数据量KB表示)
3.2 硬件指标
(1)%Processor time:CPU使用率(平均低于75%,低于50%更佳)
(2)System:Processor Queue Length:CPU队列中的线程数(每个处理器平均低于2)
(3)Mermory:Page/sec:内存错误页数(平均低于20,低于15更佳)
(4)Physical Disk-%Disk time:磁盘使用率(平均低于50%)
(5)SQL Server:Buffer Manager-Buffer Cache Hit Ratio:(在缓冲区告诉缓存中找到而不需要从磁盘中读取的页的百分比,正常情况比率超过90%,理想状态接近99%)
4 测试工具和测试策略
测试工具:Apache-jmeter
测试策略:根据公司内部实际情况,以及业务分布设置数据库访问量即并发用户数
测试数据:
数据说明:选取数据均为代表性数据,包括存储过程以及查询、更新、删除、插入
5 测试结果数据以及截图
前提条件:用户数为80个用户数时,并发访问数据库,发生错误,所以最佳用户定在75个。
5.1 Jmeter 性能指标
Average/ms
图片
数据分析:
本图表示服务器处理请求的平均相应时间
最佳性能是随着并发用户数的增加,平均事务相应时间比较平缓
本图清晰的可以看到,随着并发用户数的增加事务响应也随着上升
2.Throughput/s
图片
数据分析:本图表示服务器每秒处理请求个数
最佳性能服务器处理请求数是随着用户的增加而增加
本图可以直观看到服务器处理请求数的个数并未随着用户的增加而增加
3.KB/s
图片
数据分析:
本图为服务器每秒接收到的数据流量
最佳或理想状态下,服务器接受到的数据流量一定是随着用户数的增长而上升
本图使用折线视图清晰表明当用户数增加的同时服务器接受的请求数据流量并未上升
4.请求总数与用户图数
图片
数据分析:
上图明显看出5-15个用户发起请求时,总请求数比较高而且平缓
当25-30之后请求总数与并发用户数不成比例
反而随着并发用户数的增加,请求数在下降
5.2 硬件指标
图片
数据分析;
上图直观表现内存错误页数平均值在20,峰值高达1300(蓝线)
正常平均数据为20以下,15以下更佳
6 测试结论
6.1 Jmeter性能指标分析
由Jmeter性能指标最直观的可以看出 络性能的不足,客观的反映出服务器处理能力存在优化空间
优化建议:增加 络速度
服务器可以承受75个用户同时并发访问,但是,本次测试不代表服务器负载能力
6.2 服务器硬件信息监控数据分析
结合Jmeter性能指标和多个硬件监控图得出内存是服务器的瓶颈之一
优化建议:提高内存质量,更换更大内存以提高内存处理能力
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!