性能测试需要知道的事儿

作者: 测试开发Kevin | 来源:发表于2020-03-23 14:08 被阅读0次

说明

本文介绍了性能测试中所涉及的通用内容(针对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。

相关文章

  • 性能测试需要知道的事儿

    说明 本文介绍了性能测试中所涉及的通用内容(针对Java知识体系),注重介绍性能测试相关概念、相关工具、所需知识点...

  • JVM与性能调优

    性能测试 在了解性能调优之前,首先得知道什么是性能测试,我们的程序怎样的性能表现才需要进行性能调优 一、性能测试概...

  • 2018-09-25 C语言与Loadrunner

    1 :性能测试工程师需要编程基础吗?答案是肯定的,原因如下:  做过性能测试的人都知道,很多情况下,性能测试不是...

  • 测试需要关注的那些事儿(七)- 性能测试

    说说性能测试 在如今的大数据时代,性能测试已经是产品出厂前的标配了,否则被服务性能压制了产品的亮点岂不可惜。自然地...

  • 浅谈我所理解的性能测试~待更新

    1.什么是性能测试 1.1性能测试的定义: 1.2性能测试的类型: 1.3性能测试应用场景 2.什么时候需要性能测...

  • 一篇文章入门Jmeter性能测试【经典长文】

    今天跟大家分享一下Jmeter性能测试,首先需要了解性能测试的定义是什么,为什么要做性能测试,性能测试指标、性能测...

  • APP性能测试指标选取与测试过程说明

    要弄懂APP性能测试的评估指标,我们还需要一步一步的从性能测试开始说起。 性能测试1) 什么是性能测试性能测试简单...

  • 给你一个项目,你将如何开展性能测试工作?

    本文主要介绍何时开展性能测试,如何开展性能测试,性能测试的开展需要做哪些准备。 一、性能测试三连问 1何时进行性能...

  • 性能测试基础知识

    学习性能测试之前我们务必需要知道一些性能测试的理论知识与概念。 性能 性能这个词语,我们可能在生活中多多少少都接触...

  • 性能测试基础知识

    学习性能测试之前我们务必需要知道一些性能测试的理论知识与概念。 性能 性能这个词语,我们可能在生活中多多少少都接触...

网友评论

    本文标题:性能测试需要知道的事儿

    本文链接:https://www.haomeiwen.com/subject/fvlwyhtx.html