软件性能测试

常见的性能测试缺陷

偶尔善良 提交于 2019-12-27 21:35:30
性能测试,是 结合被测系统应用架构、业务场景和实现细节、逻辑,对软件响应时间、处理速率、容错能力等进行分析测试,找到系统的性能瓶颈,并确认问题得到解决的过程 。 由于工作需要,对性能测试缺陷分类进行了整理,这篇博客,聊聊常见的性能缺陷以及表现方式。。。 性能测试缺陷分类 缺陷类型 缺陷描述 硬件 磁盘空间 CPU IO读写速率 内存 网络 带宽 网络波动 CDN 延时 丢包 应用 JVM 代码逻辑 配置 JDK版本 底层配置 参数配置 数据库 索引 锁 表空间 慢SQL 数据量 中间件 超时 线程池 缓存策略 最大连接数 通信实现方式 负载均衡 一、硬件 磁盘空间 :磁盘空间不足导致系统运行变慢,文件、日志等无法生成存放导致的性能瓶颈; CPU :CPU的核心功能是解释计算机指令以及处理数据,性能主要体现在其运行程序的速度上。影响运行速度的性能指标包括工作频率、Cache容量、指令系统和逻辑结构等参数; IO读写速率 :即input和output,输入和输出,主要考虑数据处理时的读写速度,页交换等情况; 内存 :所有的程序都是运行在内存中的,其作用是用于暂时存放CPU中的运算数据,以及与外部存储器交换的数据,内存不足会限制程序的数据处理速度,因此这也是很重要的一项性能关注指标; 二、网络 带宽 :高并发情况下,如果带宽不足,可能会导致网络资源竞争,超时等情况; 网络波动

初识性能测试

坚强是说给别人听的谎言 提交于 2019-12-27 15:16:33
1、软件性能概念 软件性能是与软件功能相对应的一种非常重要的非功能特性,表明了软件系统对时间及时性与资源经济性的要求。对于一个软件系统,运行时执行速度越快、占用系统存储资源及其他资源越少,则软件性能越好。 2、系统管理员对性能的关注点 响应时间,影响响应时间的因素有: 功能的粒度、客户端网络情况、服务器当前忙闲情况。 3、运维人员看性能 服务器的资源使用情况、应用服务器和数据库服务器的资源使用状况、系统的可拓展性(能否实现拓展、系统的瓶颈、更换设备提高系统性能、系统能否支持7X24小时的业务访问)、系统容量(最多支持的用户访问、最大的业务处理量) 4、开发人员看性能 系统架构(架构设计合理)、数据库设计、代码是否存在性能问题、系统内存使用是否合理、系统是否有不合理的线程同步方式、系统是否存在不合理的资源竞争。 5、性能的重要性 (1)系统性能越好,执行速度越快,用户使用系统的体验就越好 (2)系统性能越好,用户的等待时间越少,有利于提高软件操作效率。 (3)系统性能越好,处理能力越大,单位时间处理业务量越大。 (4)系统性能越好,在大量用户访问系统时系统稳定性越好,能够提供持续服务。 (5)系统性能扩展性越好,越容易提升系统的处理能力,以适应更多的访问需求 6、常用性能指标 a、响应时间 响应时间指用户感受到的软件系统为其服务所耗费的时间。 一般情况下

apache性能测试工具ab使用详解

北城余情 提交于 2019-12-26 12:25:23
站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。 性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege。今天我们专门来介绍ab。 ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。 下面我们开始介绍有关ab命令的使用: 1、ab的原理 2、ab的安装 3、ab参数说明 4、ab性能指标 5、ab实际使用 6、测试nginx性能 一、ab的原理 ab是apachebench命令的缩写。 ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。 ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。 二、ab的安装 ab的安装非常简单,如果是源码安装apache的话

性能测试(并发负载压力)测试分析-Loadrunner

主宰稳场 提交于 2019-12-25 19:59:48
在论坛混了多日,发现越来越多的性能测试工程师基本上都能够掌握利用测试工具来作负载压力测试,但多数人对怎样去分析工具收集到的测试结果感到无从下手,下面我就把个人工作中的体会和收集到的有关资料整理出来,希望能对大家分析测试结果有所帮助。 分析原则: • 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点) • 查找瓶颈时按以下顺序,由易到难。 服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等) 注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。 • 分段排除法 很有效 分析的信息来源: •1 根据场景运行过程中的错误提示信息 •2 根据测试结果收集到的监控指标数据 一.错误提示分析 分析实例: 1 •Error: Failed to connect to server "10.10.10.30:8080": [10060] Connection •Error: timed out Error: Server "10.10.10.30" has shut down the connection

性能测试(并发负载压力)测试分析-简要篇

百般思念 提交于 2019-12-25 19:59:14
性能测试(并发负载压力)测试分析-简要篇 在论坛混了多日,发现越来越多的性能测试工程师基本上都能够掌握利用测试工具来作负载压力测试,但多数人对怎样去分析工具收集到的测试结果感到无从下手,下面我就把个人工作中的体会和收集到的有关资料整理出来,希望能对大家分析测试结果有所帮助。 分析原则: ? 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点) ? 查找瓶颈时按以下顺序,由易到难。 服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等) 注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。 ? 分段排除法 很有效 分析的信息来源: ?1 根据场景运行过程中的错误提示信息 ?2 根据测试结果收集到的监控指标数据 一.错误提示分析 分析实例: 1 ?Error: Failed to connect to server "10.10.10.30:8080": [10060] Connection ?Error: timed out Error: Server "10.10.10.30" has shut

非功能测试之性能测试基础

為{幸葍}努か 提交于 2019-12-23 03:59:01
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 文章目录 一、性能测试的含义 1.什么是性能测试 2.什么时候进行性能测试 3.谁关注性能 二、性能测试术语 1.请求 2.响应 3.协议 4.响应时间 5.在线用户 6.并发用户 7.虚拟用户 8.吞吐量与吞吐率 9.每秒事务数(TPS,Transaction Per Second) 10.点击率(Hit Per Second) 11.思考时间(Think Time) 12.资源利用率 三、性能测试分类 1.负载测试(Load Testing) 2.压力测试(Stress Testing) 3.并发测试(Concurrency Testing) 4.容量测试(Volume Testing) 5.可靠性测试(Reliability Testing) 6.配置测试(Configuration Testing) 四、性能测试流程 1.设计阶段 2.构建阶段 3.执行阶段 4.分析、诊断和调节阶段 五、主流性能测试工具 一、性能测试的含义 1.什么是性能测试 测试软件的性能表现,考量软件运行的如何。 √ 一般关注时间/效率、资源占用等情况。 √ 既要马儿快点跑,又要马儿少吃草。 举例:QQ聊天 功能方面 功能缺陷:点击发送消息,信息没有发送过去 性能方面 时间/效率:点击发送消息,3分钟后对方才收到 资源占用

lr性能测试结果分析原则

烂漫一生 提交于 2019-12-17 08:08:09
分析原则: 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点) 查找瓶颈时按以下顺序,由易到难。 服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)〉服务器操作系统瓶颈(参数配置)〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等) 注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。 分段排除法 很有效 分析的信息来源: 1)根据场景运行过程中的错误提示信息 2)根据测试结果收集到的监控指标数据 一.错误提示分析 分析实例: 1)Error: Failed to connect to server "payment.baihe.com″: [10060] Connection Error: timed out Error: Server "user.baihe.com″ has shut down the connection prematurely 分析: A、应用服务死掉。 (小用户时:程序上的问题。程序上处理数据库的问题) B、应用服务没有死 (应用服务参数设置问题) 例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示

详解服务器性能测试的全生命周期?——从测试、结果分析到优化策略(转载)

喜夏-厌秋 提交于 2019-12-16 10:02:51
服务器性能测试是一项非常重要而且必要的工作,本文是作者Micheal在对服务器进行性能测试的过程中不断摸索出来的一些实用策略,通过定位问题,分析原因以及解决问题,实现对服务器进行更有针对性的优化,提升服务器的性能。 1. 服务器性能测试小结 讲到服务器性能大部分人会想到这个服务器的架构是什么样子的,用的什么epoll,select,spring,tornado之类的。其实从本质上来看的话目前大部分的服务器主要包括逻辑层以及DB层,我们采用的各种框架组件处于逻辑服务器中,如下图所示。 服务器性能测试是一项比较繁琐的事情,作为没有做过性能测试的同学可能需要理清楚以下几个事情。 1.1. 协议分析 首先是协议分析,性能测试本质上是我们用代码来模拟真实的用户请求,所以我们必须要知道发送出去的请求内容才能模拟。在典型的CS服务器中很多使用了protobuf,thrift,tdr(腾讯自研)来序列化以及反序列号请求内容。 序列化之后一方面可以对数据进行压缩处理,另一方面也避免请求内容明文传输造成被抓包·泄漏数据的危险。之前有过服务器传输数据的时候使用的是明文直接发送,而且这个数据是一些敏感的sql语句,这样首先暴露了数据库的表结构,同时不法分子可以通过模拟发包造成“脱裤”甚至是数据被清空。 1.1.1. Protobuf 谷歌出品,必属精品。Protobuf使用起来很方便,学习成本非常低

软件性能测试常见分类

大城市里の小女人 提交于 2019-12-16 07:02:54
性能测试常见分类 1.性能测试(狭义)   性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。 通俗地说,这种方法就是要在特定的运行条件下验证系统的能力状态。 特点: 1、这种方法的主要目的是验证系统是否有系统宣称具有的能力。 2、这种方法要事先了解被测试系统经典场景,并具有确定的性能目标。 3、这种方法要求在已经确定的环境下运行。 也就是说,这种方法是对系统性能已经有了解的前提,并对需求有明确的目标,并在已经确定的环境下进行的。 2.负载测试 通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间”超过预定指标或都某种资源已经达到饱和状态。 特点: 1、这种性能测试方法的主要目的是找到系统处理能力的极限。 2、这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力量和典型场景、 使得测试结果具有业务上的意义。 3、这种性能测试方法一般用来了解系统的性能容量,或是配合性能调优来使用。 也就是说,这种方法是对一个系统持续不段的加压,看你在什么时候已经超出“我的要求”或系统崩溃。 3.压力测试(强度测试) 压力测试方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力, 以及系统是否会出现错误 特点: 1、这种性能测试方法的主要目的是检查系统处于压力性能下时,应用的表现。 2

APP测试基本流程以及APP测试要点

痞子三分冷 提交于 2019-12-10 00:13:34
APP测试基本流程以及APP测试要点 https://www.cnblogs.com/dengqing9393/p/6497068.html 性能测试:https://blog.csdn.net/xiaomaoxiao336368/article/details/83547318 APP测试设计测试用例的要点 http://blog.itpub.net/69915785/viewspace-2663955/ 1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。 1.3测试资源 测试任务开始前,检查各项测试资源。 --产品功能需求文档; --产品原型图; --产品效果图; --测试设备; --其他。 1.4日报及产品上线报告(内部报告机制) 1)测试人员每天需对所测项目发送测试日报。(也就是我这边有邮件通知测试项目的时候一般均属于输出测试日报) 2)测试日报所包含的内容为: \\Dell-server\网站软件app等开发\产品测试部\测试知识区域\测试文档类模板\项目测试报告邮件输出模板.doc 4)不同版本测试报告输出 2 App测试点 App测试点整理 一. 功能性测试 根据产品需求文档编写的测试用例进行测试 功能性包括客户端的单个功能模块,以及功能业务逻辑(功能交互) 1