Linux内核:性能测试 |
您所在的位置:网站首页 › ohm是什么单位测水位 › Linux内核:性能测试 |
随着各企业的业务发展、用户量以及数据量的不断增加,系统承载的压力也会随之增加,服务系统的性能好坏又严重影响企业的利益。因此,性能测试重要性与需求越来越强烈。 什么是性能测试,性能测试的目的是什么、解决什么问题,性能测试都有哪些类型,相关指标有哪几类?如何开展性能测试?本文一一揭晓。 常见的性能测试目的性能测试是确定系统在特定工作负载下的响应能力和稳定性。在进行性能测试之前,首先是要明确性能测试的目的,目的不同,对应的解决方案会有很大差异,最常见的性能测试目的(或契机)有三种: 在实际项目当中,可根据不同的性能测试目的,选作相对应的性能测试方式。 性能测试中各项监控指标在进行各类性能测试时,需要同步检测系统各项性能指标,从而分析系统的实际的响应能力与稳定性等。常用的性能监测指标有四类:业务性能指标、资源性能指标、中间件监测指标、数据库监测指标。 业务性能指标 每秒交易数(TPS):每秒钟系统能够处理的交易或事务的数量响应时间: 从请求端发起请求开始,到请求端接收到服务器端的返回结束,这个过程所耗费的时间。并发用户数:指系统可以同时承载的正常使用系统功能的用户的数量,即在给定的时间段内正在使用系统的用户数。在线用户数:没有提交请求,会话状态在线的用户数。吞吐量:指系统在单位时间内处理请求的数量。即在给定时间段内系统完成的交易数量。响应时间行业标准 互联网企业:500毫秒以下,例如淘宝业务10毫秒左右。金融企业:1秒以下为佳,部分复杂业务3秒以下。保险企业:3秒以下为佳。制造业:5秒以下为佳。时间窗口:不同数据量结果是不一样的,大数据量的情况下,2小时内完成。TPS行业标准 互联网企业:500毫秒以下,如某宝业务10毫秒左右。金融行业:1000TPS~50000TPS,不包括互联网化的活动保险行业:100TPS~100000TPS,不包括互联网化的活动制造行业:10TPS~5000TPS互联网电子商务:10000TPS~1000000TPS互联网中型网站:1000TPS~50000TPS互联网小型网站: 500TPS~10000TPS资源性能 CPU指标:主要指的CPU使用率、利用率,包括用户态(user)、系统态(sys)、等待态(wait)、空闲态(idle)。一般情况下,CPU使用率、利用率要低于警戒值范围75%。内存/SWAP:内存利用率100%并不代表内存有瓶颈,衡量系统内有瓶颈主要靠SWAP(与虚拟内存交换)交换空间利用率,一般情况下,SWAP交换空间利用率要低于70%,太多的交换将会引起系统性能低下。磁盘吞吐量:磁盘吞吐量是指在无磁盘故障的情况下单位时间内通过磁盘的数据量。磁盘繁忙率,磁盘队列数,平均服务时间,平均等待时间,空间利用率。其中磁盘繁忙率是直接反映磁盘是否有瓶颈的重要依据,一般情况下,磁盘繁忙率要低于70%。网络吞吐量:网络吞吐量是指在无网络故障的情况下单位时间内通过的网络的数据数量。一般情况下不能超过设备或链路最大传输能力的70%。资源性能(CPU、内存、磁盘)行业标准: CPU 利用率要低于业界警戒值范围之内,即小于或者等于75%;CPU sys%小于或者等于30%;CPU wait%小于或者等于5%SWAP交换空间利用率低于70%磁盘繁忙率低于70%网络吞吐不能超过最大传输能力70%中间件指标 中间件监测指标主要包括JVM、线程池、JDBC连接池,常用的中间件如:Tomcat、Weblogic等。 中间件监控内容及行业标准: 线程数最小设置50和最大设置200比较合适。JDBC最小设置50和最大设置200比较合适。JVM最小堆大小和最大堆大小分别设置1024M比较合适。数据库性能指标 SQL:执行SQL耗时吞吐量:每秒事务次数(TPS),每秒查询次数(QPS)锁:锁等待次数和锁等待时间命中率:索引缓冲区命中率、线程缓存命中率、表缓存命中率、查询缓存命中率等。数据库监控内容及行业标准: SQL耗时越小越好,一般情况下微秒级别。命中率越高越好,一般情况下不能低于95%。锁等待次数越低越好,等待时间越短越好。操作系统内核参数 主要包括信号量、进程、文件句柄。 性能测试流程首先要制定测试计划,明确目的、策略等。以测试计划为依据,逐步开展性能测试工作。 确定本次性能测试的目标,包括性能测试对象、需求范围,以及性能指标达标要求,即测试退出条件。 制定性能测试计划确定了测试对象和测试需求之后,需要制定一份性能测试计划,指导性能测试工作的进行。包括:简介、测试环境、测试场景、测试数据、测试策略、测试时间与人员安排。 测试环境 描述性能测试环境的物理架构。测试场景 针对各业务功能模块,设计不同测试类型(稳定性测试、负载测试、压力测试)等的单场景、组合场景测试。测试数据 描述各性能测试场景下的数据量要求,加压多大数据量需要提前与业务侧对齐目标,系统现存数据体量以及每年增长幅度也可以通过与业务人员(产品经理)确定,当然也可以一些经验方法或公式来估算,比如:有并发用户数与峰值公式,以及二八原理估算方法。 【并发用户数公式】:C = nL/T。C:平均的并发用户数;n:平均每天访问用户数(login session的数量);L:一天内用户从登录到退出的平均时间(login session的平均长度);T:考察的时间段长度(一天内多长时间有用户使用系统); 【并发用户数峰值公式】:C'≈C+3*根号C。其中:C:公式1中的平均并发用户数; 【二八原理估算测试强度】:每个工作日中80%的业务在20%的时间内完成。例如: 每年业务集中在8个月,每个月20个工作日,每个工作日8小时,即每天80%的业务的在1.6小时完成。去年全年处理业务约100万笔,其中15%的业务处理中每笔业务需对应用服务器提交7次请求;其中70%的业务处理中每笔业务需对服务器提交5次请求;其余15%的业务处理中每笔业务需对应用服务器提交3次请求。(根据以往统计结果,每年的业务增量为15%,考虑到今后3年业务发展的需要,测试需按现有业务量的两倍进行。) 每年总的请求数为: (100*%15*7+100*70%*5+100*15%*3)*2=1000万次/年 每天请求数为: 1000/160=6.25万次/天 每秒请求数为: (62500*80%)/(8*20%*3600)=8.68次/秒 即服务器处理请求的能力应达到9次/秒 性能测试策略 描述性能测试方法和流程与工具等。需要进行哪几种类型的测试测试,测试时间与人员安排 描述参与性能测试的人员,以及性能测试时间计划。 执行性能测试依据性能测试计划进行实施测试,准备测试环境、构造测试数据 、执行测试用例 、记录测试结果。在此过程中,如发现性能问题,提交Bug,修正Bug。 完成性能测试之后,编写性能测试报告,整理总结本次性能测试的背景、目的、测试范围、测试指标需求、测试环境与工具、测试内容、测试结果与分析等。 其中测试结果与分析主要是罗列测试指标结果数据及图表,并且对测试的结果及发现的性能问题进行总结、分析。 性能测试报告样例参见下图: 为了更高效的进行性能测试,选用适合的测试工具非常关键,下面列举了一些常用的性能测试工具供参考。 原文作者:李春辉 原文地址:性能测试看这一篇就够了(版权归原文作者所有,侵权留言联系删除) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |