摘要:
Jmeter插件管理器 安装插件的方法有两种,一种是传统的方式,即官网下载,本地配置,重启jmeter。现在有一种快捷的方法可以自定义安装插件-插件管理器 JMeter 插件管理器的使用方法很简单:不要手动安装各种插件,它提供了友好的用户界面来完成:安装、升级、卸载。它管理插件包括 jmeter-p 阅读全文
摘要:
Docker部署接口自动化持续集成环境第三步,容器化Jmeter与ant! 接上文:Docker_容器化jenkins 为了整合接口自动化的持续集成工具,我将jmeter与ant都部署在了Jenkins容器中,并配置了build.xml 一:ubuntu部署jdk 1:先下载jdk-8u74-lin 阅读全文
摘要:
jmeter中,接口自动化的关键在于参数关联。比如需要登录的接口,如何调用登录口令?一个增删改查的闭环,如何将接口参数上下传递?下面就以实际的例子来仔细说一说 1:登录接口 这里有一个实际的登录接口,在响应中返回了一串token,如下图 那么我们在接下来的接口-经验库列表中,就必须带入这一串toke 阅读全文
摘要:
概述: jmeter中,常常需要连接数据库去断言业务是否正确。因此jdbc数据库关联是必须掌握的核心知识。 基础操作 JDBC请求,最核心的是两个jar包: mysql驱动-mysql-connector-java-5.1.13-bin.jar sqljdbc4.jar 将这两个jar包放到Jmet 阅读全文
摘要:
JMeter提供了很多函数,如果能够熟练使用,可以为脚本带来很多方便。 JMeter函数是一种特殊值,可用于除测试计划外的任何组件。 函数调用的格式如下所示:${__functionName(var1,var2,var3)}其中,__functionName为函数名,括号内是函数的参数,无参数时可以 阅读全文
摘要:
循环控制器 指定其子节点运行的次数,可以使用具体的数值,也可以设置为变量 勾选永远:表示一直循环下去 如果同时设置了线程组的循环次数和循环控制器的循环次数,那循环控制器的子节点运行的次数为两个数值相乘。(线程数*循环控制器数值) 简单控制器: 这是Jmeter里最简单的一个控制器,它可以让我们组织我 阅读全文
摘要:
HTTP Cookie Manager 用来存储浏览器产生的用户信息 Clear Cookies each Iteration:每次迭代请求,清空cookies,GUI中定义的任何cookie都不会被清除。 Implementation:默认HC4CookieHandler Cookie Polic 阅读全文
摘要:
概述 在 jmeter 目录下 (以 JMeter3.2 版本为例)存在多个配置文件:jmeter.propertiesuser.propertieslog4j2.xml其中最重要的是 jmeter.properties.下面对常用的一些配置项的设置进行说明。 语言 language=zh_CN # 阅读全文
摘要:
1:环境部署 1:http://jmeter.apache.org/下载最新版本的JMeter,解压文件到任意目录 2:安装JDK,配置环境变量 JDK环境变量配置 3:应当避免jdk路径与jmeter路径有中文和空格,否则会有异常 2:目录及面板介绍 目录: l 目录说明: l bin 包含启动、 阅读全文
摘要:
关键知识点 cpu 构造 lscpu物理核,逻辑核,超线程机制cpu 线程数=物理核逻辑核逻辑核线程数 cpu 时间片原理 时间片轮转机制cpu 线程调度应用程序线程进程与时间片的关系 上下文切换 进程上下文切换线程上下文切换系统调用切换 cpu 利用率 cpu 实际利用率cpu 有效利用率cpu 阅读全文
摘要:
概述 接上一篇 TPS 调优之 tomcat 线程池优化优化结果是将 TPS 提升到了 1000 左右,但是感觉不大满意,还有继续优化的空间 线程深度定位 arthas工具arthas 是阿里的一款开源工具,用来深层次的排查服务器线程问题,方便好用。下面介绍两个简单的命令 thread | grep 阅读全文
摘要:
概述 最近整了一台新的服务器,跑业务的时候发现一个问题。随着负载升高,TPS 在抬升到一定高度之后,出现大幅下跌的现象。TPS 监听如下图 服务端监听 cpu 利用率一分钟平均负载只有 1.6,cpu 利用率 50%。负载低,利用率也低 运行进程队列不高,也就 20 个左右。 mpstat 分析用户 阅读全文
摘要:
概述 客户端优化 序列号同步第一次握手的时候,客户端会向服务端发送连接请求的报文,叫SYN,SYN 全称是Synchronize Sequence Numbers,翻译过来是同步序列号。建立连接的第一件事就是同步序列号。只有同步了序列号才有保证稳定可靠的传输。一个序列号占四个字节的内存 SYN 重试 阅读全文
摘要:
概述 tcp 在建立连接的过程中,有三次握手和四次挥手的过程。在这个流程中,产生了十种状态。入下图 三次握手第一次握手:客户端向服务器发出连接的请求(SYN)。此时客户端进程进入了 SYN-SENT状态,表示客户端想要和服务端建立连接 第二次握手:服务端接收到客户端的请求后,如果同意连接,则发出确认 阅读全文
摘要:
概述 最近接手的一个项目,服务端的 cpu 利用率一直爆表。不做任何压测,利用率也保持在 200% 左右 分析 从 top 里面可以看出几个问题1:负载几乎为 0,可以排除线程过多的问题2:usr 的 cpu 利用率几乎是 sy 的三倍,初步怀疑代码层面有问题3:IOwait 几乎没有,可以排除 I 阅读全文
摘要:
问题反馈 这是一个性能培训学员反馈的 TPS 问题100 并发用户下的负载测试,TPS 最大升到 570 左右,然后跌到 400,并且长期保持。加线程也不能让 tps 再有所增加。 从监听到的服务器指标来看,cpu 利用率一直处于低迷的状态,大约只有 40% 左右。 问题定位 执行 vmstat 1 阅读全文
摘要:
无效压测的背景 一:没有专业的性能测试人员或者团队;二:没有独立的性能测试环境;三:上线前临时开展性能测试,时间仓促,准备仓促;四: 功能测试人员经常被拉过来填坑性能测试任务,临时抱佛脚查资料;五: 没有完整清晰的性能测试需求,所有的性能指标全靠拍脑袋凑齐; 性能测试常见误区 性能测试就是使用工具加 阅读全文
摘要:
linux 下 tcp 参数优化 vim /etc/sysctl.conf # 未收到客户端确认信息的连接请求的最大值net.ipv4.tcp_max_syn_backlog=5000 #timewait 数量net.ipv4.tcp_max_tw_buckets = 6000 # 改进 tcp 的 阅读全文
摘要:
概述 在本地针对项目的登录接口做了一次简单的压力测试。200 并发持续 120s,观察吞吐量 运行结束之后,吞吐量是这样的 如图所示,吞吐量波动巨大,完全不正常。现在我们需要去观察一下服务器了 mpstat -P ALL 1* 先看一下 cpu 的运行情况 可以发现 cpu 的利用率呈现一种阶梯式递 阅读全文
摘要:
概述 性能测试中,如果一台机器的资源不足以支撑压测需求,那么我们就需要分布式来执行。所谓分布式,就是一台控制机带着 N 多台执行机同时跑脚本分布式执行原理 分布式测试时,本地 jmeter 作为控制机 (master),其它机器做为执行机 (slave)。master 把脚本分发到每台 slave 阅读全文