1.性能测试导致应用服务器或数据库服务器CPU为100%

在性能测试过程中,应用服务器或数据库服务器的CPU为100%是比较常见的情况。其主要特征为:进行小并发的简单查询或添加等性能测试,而应用服务器或数据库服务器的CPU的利用率为100%。

如果应用服务器的CPU利用率为100%,则说明被测程序存在问题,需要调整。此时可以与技术经理协调,来对被测代码进行检查。

如果数据库服务器的CPU利用率为100%,则说明访问数据库频度很高或数据库执行任务频度较高,需要与技术经理协调,查看代码中是否存在频繁调用数据库的情况。

如果应用服务器为Linux服务器,则还要关注一下Load Average的值。Load Average是 CPU的 Load,它所包含的信息不是 CPU的使用率状况,而是在一段时间内 CPU正在处理以及等待 CPU处理的进程数之和的统计信息,也就是 CPU使用队列的长度的统计信息。因此正常的Load Average应小于CPU个数 * 核数 *0.7。

2.应用服务器内存泄露及内存溢出

在性能测试过程中,应用服务器中最常见的一种问题就是内存泄露甚至内存溢出的问题下面分别介绍一下内存泄露和内存溢出:

n 内存泄露

主要特征:进行负载测试或稳定性测试时,若为java应用,则应用服务器的内存呈持续上扬趋势。若为.net应用,IIS中会规定使用内存的大小,所以从应用服务器上很难看出内存是否泄露。但我们可以通过监控应用服务器中IIS所占用的内存大小及内存变化趋势来进行判断。

n 内存溢出

主要特征:进行负载测试或稳定性测试时,若为java应用,则应用服务器出现内存溢出错误。若为.net应用,IIS中会规定使用内存的大小,所以从应用服务器上很难看出内存是否溢出。但可以通过LoadRunner中的平均响应时间曲线和监控的内存曲线进行判断:若发生内存溢出,则LoadRunner中的平均响应时间曲线和监控的内存曲线均会出现突然大幅度下降的情况。此时在IIS中,也可以找到相应的错误信息。

3.性能测试过程中,响应时间较慢

这里的响应时间较慢是指针对软件需求规格说明书中规定的平均响应时间而言的。判断响应慢有如下几种情况:

n 测试脚本中是否有think_time:

检查性能测试脚本中是否有think_time;如果有,则需要将think_time语句全部删除,再进行测试;如果么有,则需要进行下一步的核查

n 应用是否采用连接池建立数据库连接:

需要检查被测应用系统是否采用连接池的方式来进行数据库的连接。如果不是采用连接池方式,则需要改成连接池方式后再次测试。如果采用的是连接池方式,则需要进行下一步的核查。

n 相应表是否建立索引:

需要检查测试场景中对应的数据库表是否建立了索引。正常情况下是检索条件的字段都建议创建索引。如果没有建立索引,则需要建立索引后再次测试。如果已经创建了索引,则需要进行下一步的核查。

n 执行的SQL是否过长

需要检索执行的SQL是否过长:SQLSERVER数据库可使用自带sql profiler工具对执行的SQL进行监控;而ORACLE数据库则使用v$sql 即可查到数据库中执行的SQL。例如:select   sql_text   from   v$sql   where   rownum <3;如果执行的SQL过长,就需要架构组对它进行优化;如果执行的SQL并不长,则需要将问题提交给架构组,让架构组来分析造成平均响应时间较慢的原因。

4.稳定性测试中CPU出现上扬趋势

稳定性测试中出现CPU上扬趋势时,应按照以下方法进行识别:

运行几个小时后,CPU有上扬趋势。如不明显,可将测试结果中的CPU单独展现出来,这样CPU的趋势会更加明显。

选中需要展示的指标,然后点击红框标识的按钮(show only selected),如图 1,就可以将选择的指标单独展示出来。如图 2。

图 1选择指标点击红框标识的按钮(show only selected)

图 2 单独展示CPU指标

如果CPU曲线上扬,则需要将问题提交给架构组,让架构组分析造成此问题的原因。

5.性能测试过程中,应用出现错误

在性能测试过程中,每次做完一个脚本的测试时,除了将测试结果保存下来以外,还要去应用中查看日志中是否有错误。如果有错误,则要提交给架构组,让架构组分析造成此问题的原因。

转载于:https://www.cnblogs.com/vinyfeng/articles/2012756.html

转:性能测试中常见的性能问题及识别方法相关推荐

  1. oracle数据库支持2颗cpu,2.3 Oracle数据库中常见的性能问题

    2.3 Oracle数据库中常见的性能问题 这一节列出和描述了Oracle数据库中常见的性能问题.通过下面的Oracle性能调优方法,你应该可以避免这些问题,如果你遇到这些问题了,那么重复前面谈到的O ...

  2. 性能测试的常见瓶颈分析及调优方法

    目录 目录 前言 一.注意事项 二.常见性能瓶颈解析及调优方案 前言 在性能测试过程中,最重要的一部分就是性能瓶颈定位与调优.而引发性能瓶颈的原因是多种多样的, 在这里来聊聊性能测试过程中的一些注意事 ...

  3. 条形图坐标轴_解密咨询报告中常见的双层条形图的制作方法

    为了增加PPT的设计灵感,我除了经常逛一些设计社区之外,也会收集的各个公司咨询报告来学习.昨天我看了4份数据报告,发现这4份数据报告中都出现了一个共同的图表类型. 第1个图表自于IXDC发布的< ...

  4. 计算机错误符号,解析Excel中常见的错误符号以及解决方法

    解析Excel中常见的错误符号以及解决方法分享给大家, Excel 电子表格是很多人都要使用的软件,也相信很多人都会用,但是用得好不好就差别很大了,用得好的话可以让工作效率大大提高,但关于Excel的 ...

  5. 数据科学中常见的9种距离度量方法(包括曼哈顿距离、欧氏距离、半正矢距离等)

    数据科学中常见的9种距离度量方法(包括曼哈顿距离.欧氏距离.半正矢距离等) 1.欧氏距离(Euclidean Distance) 2.余弦相似度(Cosine Similarity) 3.汉明距离(H ...

  6. 分享“羽毛球健身中常见的运动损伤及预防方法”及个人体会

    羽毛球健身中常见的运动损伤及预防方法(初学者必读) 出处:论文-李小群 摘要:通过对羽毛球大众健身爱好者进行问卷调查分析,结果显示:爱好者的运动损伤结果和专业运动员相比多为急性损伤,大多数是由于打球中 ...

  7. JS中常见的内存泄漏及识别方式

    JavaScript常见的内存泄漏及识别方式 1.什么是内存 2.什么是内存泄漏 3.内存泄漏导致的后果 4.常见的内存泄漏 (1)全局变量引起的内存泄漏 (2)闭包引起的内存泄漏 (3)被遗忘的定时 ...

  8. 数据科学中常见的9种距离度量方法

    选自towardsdatascience 作者:Maarten Grootendorst 机器之心编译 编辑:陈萍 在数据挖掘中,我们经常需要计算样本之间的相似度,通常的做法是计算样本之间的距离.在本 ...

  9. web开发中常见的安全漏洞及避免方法

    1.安全攻击 1.SQL.HTML.JS.OS命令注入 2.XSS跨站脚本攻击,利用站内信任的用户,在web页面插入恶意script代码 3.CSRF跨站请求伪造,通过伪装来自信任用户的请求来利用受信 ...

最新文章

  1. SparkSQL使用之Thrift JDBC server
  2. zend opcache的最佳设置
  3. pygame中使用事件扫描实现对按键的检测以及小游戏的编写
  4. 数学建模必备算法之模拟退火算法
  5. 就等android了
  6. LIVE555play流程
  7. JSP程序设计之(1)Tomcat安装及环境变量配置
  8. 基于Java的学生管理系统
  9. ARM开发比51开发高级吗—嵌入式就业技能分类
  10. 练习3-8 查询水果价格
  11. linux scl软件包下载,Centos7升级gcc版本方法之一使用scl软件集
  12. 如何在Mac系统上查看端口占用和释放端口的情况?
  13. 【C语言】你知道.c文件是如何变成.exe文件的吗
  14. 51单片机 c语言 汇编,51单片机之时钟(C语言和汇编两种方式实现)
  15. 18-基于双TMS320C6678 DSP的3U VPX的信号处理平台
  16. 图形学数学基础之重要性采样(Importance Sampling)
  17. 计算机系统要素--第六章,02-HACK汇编编译器实现
  18. ios html数组,[转载]IOS中字符串与数组的处理
  19. 【《深入理解计算机系统》读书笔记(3)】 第3章 程序的机器级表示
  20. 最新转转交易猫闲鱼后台源码+带视频教程亲测

热门文章

  1. Python matplotlib画图出现No handles with labels found to put in legend
  2. 解决IDEA不能编译XML文件
  3. vue-cli4.0打包之后,页面空白,路由404
  4. VS Code将vue项目上传到github/gitee过程以及报错调试
  5. Spring中yml多环境配置
  6. SpringBoot继承TkMapper通用Mapper
  7. C# OpenTK教程 - 1.2 你好三角形
  8. 调节pycharm字体大_字体美化大师里的字体推荐
  9. 3层b+树索引访问磁盘次数_从B+树到LSM树,及LSM树在HBase中的应用
  10. 记一次简单的vue组件单元测试