JMeter—常见问题(十四)
参考《全栈性能测试修炼宝典JMeter实战》第十五章 JMeter常见问题
1、无法产生负载
注意检查各元件是否时禁用状态。JMeter在运行时是以数形式加载各种元件的,如果父节点被禁用,那么其下的所有子节点将不会运行。虽然下面的子节点没有被禁用,但运行时根本无法产生负载,但JMeter不会报错。
2、做接口测试
常见的有HTTP协议、Socket协议、WebSocket协议、Soap协议等,只要构造好表单,在JMeter中用相应的Sampler就可以模拟请求。
3、多个测试计划运行
在编辑菜单栏中有个合并操作,点击后可以将多个测试计划合成一个,每一个脚本是一个线程组,运行时同时运行线程组即可。
4、找导致CPU瓶颈的程序
在性能测试分析时,往往采用自底向上的方式来进行问题分析,我们从硬件的指标来反向追索问题根源。其中CPU的性能瓶颈分析最为常见。
监控CPU使用率,CPU使用率分为系统和用户的使用率。
系统CPU利用率高可以先关注下IO,有没有非空闲等待,通常的系统CPU利用高都是IO问题,此时的中断与切换都高。
用户CPU利用率高,直接使用top命令查看系统进程和线程,通过线程或进程ID可以找到对应的程序。
5、找导致内存瓶颈的程序
linux系统可用内存包括物理内存、缓存、程序占用的内存等部分。内存瓶颈会导致程序运行缓慢甚至系统崩溃,通过监控内存的使用情况发现潜在的性能问题。
6、找导致IO瓶颈的程序
网络IO的监控可以监控网络中断、带宽、网络连接数及网络连接状态,从而确定那方面的瓶颈。
本地磁盘IO可以监控有没有IO的非空闲等待
7、计算并发用户数
并发数受到很多因素的影响。比如思考时间、工作时间、业务分布等,通常技术并发用户数有三种方式:
由TPS来估算并发数
由TPS来估算,适用于联机操作系统,这类系统响应时间快、业务量大。
Vu(业务名称)=TPS(业务名称)x (RunTime+ThinkTime)
Vu表示此业务的虚拟用户数,RunTime时测试程序/脚本运行一次所消耗的时间,包括事务时间和非事务时间
由在线活动用户数来估算并发数
适合于读请求多的系统,比如新闻

根据经验估算
不是一种严谨的估算方式。
8、性能测试的分析方法
自底向上:通过监控硬件及操作系统性能指标(CPU、内存、磁盘、网络等硬件资源的性能)来分析性能问题(配置、程序等)。因为用户请求最终是由计算机硬件设备来完成的。
自顶向下:通过生成负载来观察被测试的系统性能,比如响应时间、吞吐量,然后从请求起点由外及里一层一层分析。
JMeter—常见问题(十四)的更多相关文章
- Jmeter(三十四) - 从入门到精通进阶篇 - 参数化(详解教程)
1.简介 前边三十多篇文章主要介绍的是Jmeter的一些操作和基础知识,算是一些初级入门的知识点,从这一篇开始我们就来学习Jmeter比较高级的操作和深入的知识点了.今天这一篇主要是讲参数化,其实前边 ...
- Jmeter(二十四)_服务器性能监控
下载插件 1.访问网址http://jmeter-plugins.org/downloads/all/,下载三个文件.其中JMeterPlugins-Standard和JMeterPlugins-Ex ...
- <转>jmeter(十四)HTTP请求之content-type
本博客转载自:http://www.cnblogs.com/dinghanhua/p/5646435.html 个人感觉不错,对jmeter最常用的取样器http请求需要用到的信息头管理器做了很好的解 ...
- Jmeter(三十四)_Beanshell解析并提取json响应
1:前置条件 将fastjson-1.2.49.jar包置于jmeter的lib目录下,并将该jar包添加到测试计划的Library中:否则会报:Typed variable declaration ...
- Jmeter(十四)Logic Controller 之 If Controller
If Controller---如果控制器:属于逻辑判断类型的组件,其实学过代码的都知道if--else,while等都是常用的逻辑判断关键词,Jmeter也提供了逻辑判断--If Controlle ...
- jmeter(十四)解读聚合报告
一个每天1000万PV的网站需要什么样的性能去支撑呢?继续上一篇,下面我们就来计算一下,前面我们已经搞到了一票数据,但是这些数据的意义还没有说.技术是为业务服务的,下面就来说说怎么让些数据变得有意义. ...
- Jmeter(十四)取样器之JDBC Request
在接口测试中,需要与数据库进行交互,这时候需要用到JDBC Request取样器. JDBC Request可以向数据库发送一个请求(sql语句),一般它需要配合JDBC Connection Con ...
- Jmeter(二十四) - 从入门到精通 - JMeter函数 - 中篇(详解教程)
1.简介 在性能测试中为了真实模拟用户请求,往往我们需要让提交的表单内容每次都发生变化,这个过程叫做参数化.JMeter配置元件与前置处理器都能帮助我们进行参数化,但是都有局限性,为了帮助我们能够更好 ...
- Jmeter(五十四) - 从入门到精通高级篇 - 如何在linux系统下运行jmeter脚本 - 上篇(详解教程)
1.简介 上一篇宏哥已经介绍了如何在Linux系统中安装Jmeter,想必各位小伙伴都已经在Linux服务器或者虚拟机上已经实践并且都已经成功安装好了,那么今天宏哥就来介绍一下如何在Linux系统下运 ...
随机推荐
- Unity3D热更新之LuaFramework篇[01]--从零开始
前言 因工作关系,需要对手头的项目进行热更新支持.了解后发现,Lua的几个变种:XLua.ToLua(原uLua)和Slua都可以做Unity热更,而ToLua更是提供了一个简易的热更框架--LuaF ...
- Netty源码分析(三):客户端启动
Bootstrap Bootstrap主要包含两个部分,一个是服务器地址的解析器组AddressResolverGroup,另一个是用来工作的EventLoopGroup. EventLoopGrou ...
- leetcode — powx-n
/** * Source : https://oj.leetcode.com/problems/powx-n/ * * Created by lverpeng on 2017/7/18. * * Im ...
- 简单快速的让你的json解析速度快上加快
背景 最近小编在做公司的一个需求.要求是把系统内的一些大型文本文件上传到第三方那里,而且第三方要求的交互数据的方式是采用post请求发送json串的形式进行的. 问题 做到中途才发现问题,由于单个文本 ...
- MySQL高可用之组复制(1):组复制技术简介
MySQL组复制系列文章: MySQL组复制大纲 MySQL组复制(1):组复制技术简介 MySQL组复制(2):配置单主模型的组复制 MySQL组复制(3):配置多主模型的组复制 MySQL组复制( ...
- Redis基础认识及常用命令使用(一)--技术流ken
Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集 ...
- [React] immutable.js
//Map() 原生object转Map对象 (只会转换第一层,注意和fromJS区别) immutable.Map({name:'danny', age:18}) //List() 原生array转 ...
- 使用Topshelf开发Windows服务、log4net记录日志
开发windows服务,除了在vs里新建服务项目外(之前有写过具体开发方法,可点击查看),还可以使用Topshelf. 不过使用topshelf需要.netframework 4.5.2版本,在vs2 ...
- vue使用element-ui的el-input监听不了回车事件解决
vue使用element-ui的el-input监听不了回车事件,原因应该是element-ui自身封装了一层input标签之后,把原来的事件隐藏了,所以如下代码运行是无响应的: <el-inp ...
- 27.QT-QProgressBar动态实现多彩进度条(详解)
如下图所示: 效果如下: (gif录制的动画效果不好,所以颜色有间隙) 介绍 通过qss实现,只需要一个多彩背景图,通过QImage获取颜色,然后来设置进度条,便可以实现动态多彩进度条(根据图片设定颜 ...