性能测试知识总结 | |
性能测试的目的 | 1 评估当前系统的性能指标,分析定位解决性能瓶颈,预防规避性能风险; 2 分析导致瓶颈的原因,调优解决性能瓶颈; 3 通过某些手段让系统的性能得到提升; |
性能测试的概念(系统测试) | 性能测试主要是通过自动化的测试工具或手段模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行的一种测试。 |
负载测试的概念 | 就是要在特定的运行条件下验证系统的能力状况。 |
负载测试和压力测试的区别 | 1 负载测试就是要在特定的运行条件下验证系统的能力状况。 2 压力测试是为了发现在什么条件下应用程序的性能会变得不可接受。 |
性能测试的介入点 | 1 编码阶段 - 压力测试(开发人员自己进行); 2 编码测试之间 - 容量测试; 3 测试阶段 -负载/配置/基准测试 |
性能测试各个阶段所要进行的内容 | 1 测试需求分析:测试要素分析 - 用户数量、测试执行的功能、用户分布、硬件环境、软件环境、数据量 2 制定测试策略:性能符合性验证--负载测试、疲劳强度测试; 性能能力验证--压力测试、疲劳强度测试; 性能调优--测试-调整-测试,负载测试、压力测试、疲劳强度测试。 3 制定测试方案:测试需求、测试策略、测试场景、测试环境、测试准备、人员及时间 安排、问题与对策 4 执行测试方案:搭建测试环境、录制脚本&编辑脚本、布置测试场景、执行测试场景 5 测试结果分析:性能符合性验证:查看测试结果是否满足要求,比如响应时间、资源 利用率、吞吐量等等; 性能能力验证:查看测试结果是否满足要求,记录软件系统的性能变化曲线;性能调优:同性能能力验证确定性能瓶颈分析方法。 6 测试结果分析:硬件瓶颈分析方法、内存分析方法、处理器分析方法、磁盘I/O分析方法; 7 编写测试报告:测试指标、结果分析与总结; |
性能测试的三大指标及其含义 | 1 响应时间:完成某个业务所需要的时间; 2 吞吐量:单位时间内能处理的事务数目; 3服务器资源占用:负载下系统的资源利用率; |
性能测试的简单流程 | 制定性能测试的目标->选择性能测试的工具->设计性能测试->监控分析系统->性能调优 |
性能测试工程师应该具备的能力 | 1 熟悉测试理论; 2 熟悉一门编程语言;(java,C, Ruby…) 3 熟悉一种数据库系统;(Orcle,mysql,sqlserver…) 4 熟悉Web服务器;(Tomcat,Jboss,IIS…) 5 熟悉常见的网络协议;(Http,Tcp…) 6 掌握性能测试理论; 7 至少熟练使用一种性能测试工具;(LR, WAS, OPENSTA… ) 8 了解一些常见应用的原理;(负载均衡,视频播放,软件更新,p2p …) |
常见的瓶颈 | 1 硬件上的性能瓶颈:一般指CPU/RAM方面的问题,服务器硬件瓶颈、网络瓶颈、服务器操作系统瓶颈、中间件瓶颈、应用瓶颈。 2 应用软件上的性能瓶颈:一般指应用服务器、Web服务器等应用软件 3 应用程序上的性能瓶颈:一般指开发人员新开发出来的应用程序 4 操作系统上的性能瓶颈:一般指Windows、UNIX、Linux操作系统 5 网络设备上的性能瓶颈:一般指防火墙、动态负载均衡器、交换机等 |
性能问题调优的步骤 | 1 确定问题:应用程序的代码、数据库的配置、操作系统配置、硬件配置、网络 2 确定原因:响应时间吞吐量、多大户用户还是少数用户、系统资源监控结果是否正常、CPU的使用是否达到极限、I/O情况如何、问题是否集中在某一模块、是客户端还是服务器端出现的问题、硬件配置是否够用、实际负载是否超过了系统的负载能力、是否未对系统进行优化。 3 确定调整目标和解决方案:提高系统吞吐量、缩短响应时间,更好的支持并发。 4 测试解决方案:对通过解决方案调优后的系统进行基准测试。 5 分析调优结果: |
性能调优应注意的要点 | 1 在应用系统的设计开发过程中,应该始终把想能放在考虑范围内; 2 确定清晰明确的性能目标是关键; 3 必须保证调优后的程序运行正确; 4 系统的性能更大程度上取决于良好的设计,调优技巧只是一个辅助手段; 5 调优过程是迭代渐进的过程,每次调优结果都要反馈到后续的代码开发中去; 6 性能调优不能以牺牲代码的可读性和可维护性为代价。 |
性能测试的分析调优的方式和手段 | 1 应用程序诊断:模拟多用户操作形成负载,检验应用程序是否满足用户性能需求; 2 系统调优: |
RPM | Revolutions Per Minute(转每分钟) |
IOPS | Input/Output Per Second(每秒输入数出量)衡量磁盘性能指标的关键 |
Memory Cache | 解决小文件读写的问题,但是内存一旦掉电就会丢失数据 |
OLTP | Online Transaction Processing(随机读写频繁的应用) |
Throughput | 数据吞吐量 |
VOD | Video On Demand(大量顺序读写应用) |
寻道时间(Tseek) | 读写磁头移动至正确的磁道上所需要的时间。平均在3~15ms |
旋转延迟(Trotation) | 指盘片旋转将请求数据所在扇区移至读/写磁头下方所需要的时间。(磁盘转速的1/2) |
数据传输时间(Transfer) | 完成传输所请求的数据所需要的时间(数据大小/数据传输速率) |
性能测试知识点总结
最新推荐文章于 2024-08-13 16:36:26 发布
本文全面总结了性能测试的关键知识点,包括测试目标、测试类型、负载测试、压力测试、稳定性测试的定义与区别,以及如何设置测试场景、选择合适的工具、分析测试结果,旨在帮助读者深入理解性能测试的重要性和实施策略。
摘要由CSDN通过智能技术生成