性能测试微服务性能测试测试开发那些事儿

性能测试需要知道的事儿

2020-03-23  本文已影响0人  测试开发Kevin

说明

本文介绍了性能测试中所涉及的通用内容(针对Java知识体系),注重介绍性能测试相关概念、相关工具、所需知识点以及注意事项。这里并没有对具体的某一环节进行详细讲解,适合想从整体上快速了解性能测试的同学阅读!

什么是性能测试

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。

性能测试相关概念

1.       事务:性能测试中的事务是指用户在应用系统中为完成某项业务,所做的一组请求的集合。一项业务中可以包括多个事务,如 查询、保存等等都可分别定义为一个单独的事务

2.       响应时间:应用系统对客户的某个操作正确反馈结果的时间。客户端与服务器建立连接时间+应用处理时间+数据库时间+传输时间的时间总和

3.       TPS:每秒事务数

4.       吞吐量:吞吐量是系统处理并发访问能力的综合指标,与响应时间和TPS息息相关。LR中的吞吐量是指服务器返回给客户端的数据字节的总和。不包括客户端发出的请求字节响应时间越小,TPS越高,系统的吞吐量也会越大

5.       点击率:服务器每秒处理的请求数

性能测试类型

1.       压力测试:压力测试是不断的对系统施加压力,测试系统在用户不可接受或者失效时的所能承受的最大处理能力。如能够最大处理多大并发

2.       极限测试:主要是检查程序对异常情况的抵抗能力

3.       并发测试:主要指测试多个用户同时访问同一个应用程序、同一个模块、或者同数据记录时是否存在死锁或者其他功能和性能问题

4.       稳定性测试:对系统持续长时间加载压力,以检测系统是否稳定的运行。如为了模拟7*24小时业务,持续测试5小时或者8小时

性能测试流程

性能测试工具的使用

Loadrunner 商用,价格昂贵

Jmeter开源免费,应用广泛

性能测试监控工具之nmon

Nmon是一款计算机性能系统监控工具,开源免费,我们可以使用它来监控服务器中的cpu,内存,网络,磁盘等指标。

1.       Nmon安装:

下载 wget http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz

解压 tar zxvf nmon_linux_14i.tar.gz

2.       Nmon运行:

chmod 777 nmon_x86_64_sles11

/usr/local/nmon/nmon_x86_64_sles11 -s3 -c3060 -f -t -m /root/nmonlog

参数解释:

-s10 每 10 秒采集一次数据。

-c60 采集 60 次,即为采集十分钟的数据。

-f 生成的数据文件名中包含文件创建的时间。

-m 生成的数据文件的存放目录

3.      Nmon解析

通过nmon analyser v34a.xls打开.nmon文件,可以看到服务器中的cpu,内存,网络,磁盘等指标。

性能测试报告的编写

核心点包括:

1.       详细阐述测试结果,问题分析

2.       阐述项目背景

3.       阐述测试时间,地点

4.       阐述测试范围

5.       阐述测试工具

6.       描画环境部署架构图

7.       描述测试环境(待测环境硬件配置,测试压力机硬件配置,核心表基础数据量,数据库和应用服务器的参数配置)

8.       测试结果详细列举(包含每个场景每个事务90%响应时间,tps, 硬件资源利用率,JVM回收情况,TOPSQL分析,小结)

调优

关于性能测试优化能讲的内容很多,这里就不多介绍了,每一个技术点都涉及很深的知识面。

总的来说,可以分为以下四个方面:

Liunx调优

中间件调优

JVM调优

数据库调优

总结

1.性能测试的核心,不是会使用lr或者jmeter等压测工具,会用工具只能说明你刚刚入门。

2.性能测试的难点是当发现性能瓶颈时,能够排查出问题,这包括了对Liunx调优、中间件调优、

JVM调优以及数据库调优。

3.性能测试一定要明确测试目标,在已确认的硬件配置、数据量级上开展测试。

4.沟通是关键,前期需要跟产品协调明确测试目标(测试所涉及的业务范围、TPS、响应时间),中期需要跟运维同事协调构建环境的相关事宜,最后发现问题时需要跟dba和研发同学协调解决方案。如果沟通不畅会导致项目的严重delay。

上一篇下一篇

猜你喜欢

热点阅读