您好,欢迎访问三七文档
性能测试介绍大纲•一、性能测试基本知识介绍•二、性能指标介绍•三、性能测试工具及常用命令•四、性能问题分析定位一、性能测试基本知识介绍1、什么是软件性能•软件性能包含多个层面;•不同的角色,对于软件性能关注点不同用户关注:系统响应时间管理人员关注:性能关注点软件性能描述应用服务器/数据库服务器资源使用是否合理?资源利用率系统能否实现可扩展?可扩展性系统能否实现可扩展?可扩展性系统最多能支持多少用户?系统容量系统最大业务处理量?系统容量系统性能可能瓶颈在哪里?系统可扩展性更换哪些设备能提高系统性能?系统可扩展性一、性能测试基本知识介绍开发人员关注软件测试针对上述三方面的要求进行性能测试开发人员关心的问题问题层次架构设计是否合理系统架构数据库设计是否合理数据库设计代码是否存在性能问题代码系统中是否存在不合理的内存使用方式代码系统中是否存在不合理的现场同步方式设计与代码系统中是否存在不合理的资源竞争设计与代码一、性能测试基本知识介绍2、性能测试的目标•1)能力验证:测试软件在系统中的运行性能,评估是否满足性能需求;•2)性能分析:对性能测试数据进行分析,定位性能问题;是否存在内存泄露是否存在数据库死锁和经常出新的长事务是否出现线程/进程同步失败是否出现资源占用导致死锁是否出现异常处理错误导致系统死锁3)性能调优:对性能问题进行调优。一、性能测试基本知识介绍•3、性能需求分析•新产品或功能需要对性能需求进行分析。通过分析了解被测系统典型场景,确定性能目标。系统响应时间合理的响应时间取决于实际的客户需求普遍能接受的响应时间标准(2/5/8秒原则)系统处理容量分析系统平均访问量分析系统峰值访问量系统资源占用CPU占用不超过65%内存占用不超过70%二、性能指标介绍•性能测试时需要监控的指标应用--事务平均响应时间--每秒事务数(TPS)系统在同一时间内处理业务的最大能力。反应系统处理能力。--每秒点击率每秒钟点击数提供了当前负载中对系统产生的点击量记录。--吞吐量当前系统负载下所使用的带宽。能够确定是否存在网络带宽的瓶颈。--事务失败率二、性能指标介绍服务器资源-CPU:User%、Sys%、Idle%-内存:memtotal、memfree、cached、buffers-硬盘:DiskRead、DiskWrite-网络:read、write三、性能测试工具及常用命令•1、压力测试工具LoadrunnerSoapUIJmeterWebload•2、监控工具NmonSiteScopeZabbixJconsoleSpotlight三、性能测试工具及常用命令•3、轻量级常用监控工具Fiddler三、性能测试工具及常用命令---服务器端处理请求的时间:ServerBeginResponse–ServerGotRequest---请求在网络上传输的时间:(ServerGotRequest-ClientDoneRequest)-(DNSTime+TCPConnectTime)三、性能测试工具及常用命令•HttpWatch三、性能测试工具及常用命令三、性能测试工具及常用命令三、性能测试工具及常用命令•4、常用命令top(topas)vmstat(内存)iostat(IO)sar–nDEV时间间隔次数(网络)jmapjconsole四、性能问题分析定位•问题定位:1、响应时间定位2、内存溢出定位3、内存泄露定位4、数据库性能定位四、性能问题分析定位•1、响应时间定位•1)平均事务响应时间四、性能问题分析定位•2)Web页面诊断四、性能问题分析定位•3)用户与响应时间•随着用户数的增加,平均事务响应时间也在增长。•当虚拟用户数超过64时,响应时间明显变长四、性能问题分析定位•2、内存溢出•日志信息:四、性能问题分析定位•3、内存泄露•1)通过jconsole观察Heap堆栈的使用情况•2)使用jmap命令导出JVM内存堆信息•3)使用MAT工具分析内存泄露情况四、性能问题分析定位•4、数据库性能定位•AWR报告•Spotlight实时监控
本文标题:性能测试介绍.
链接地址:https://www.777doc.com/doc-2396097 .html