文章分类 - 性能测试
摘要:如何识别TPS拐点 先看一下这张图。它聚合了响应时间,TPS,活动线程三个性能指标的监听。注:这张图上的性能指标都是以运行时间来作为单位的 从图上能看出来几个趋势 1:负载是不断越高的,最终会达到300并发 2:tps上升到900之后,就不再增加了,并长期保持在900左右 3:运行一段时间之后,响应
阅读全文
摘要:概述 前面一篇文章介绍过什么是MQTT。今天这篇主要介绍怎么通过jmeter去压测MQTT消息。 点击查看MQ 学习笔记 EMQ平台发布消息 根据之前的文章,我们知道MQTT有消息发布和消息订阅两个模块。我们可以订阅主题的模式,批量接收消息。 首先,我们把EMQ作为一个订阅主题的客户端,保持webs
阅读全文
摘要:无效压测的背景 一:没有专业的性能测试人员或者团队; 二:没有独立的性能测试环境; 三:上线前临时开展性能测试,时间仓促,准备仓促; 四: 功能测试人员经常被拉过来填坑性能测试任务,临时抱佛脚查资料; 五: 没有完整清晰的性能测试需求,所有的性能指标全靠拍脑袋凑齐; 性能测试常见误区 性能测试就是使
阅读全文
摘要:http协议的缓存机制 缓存一直以来都是用来提高性能的一项必不可少的技术 , 利用它可以很好的提高web的性能。 缓存可以很有效地降低网络延迟,也可以减少大量请求对于服务器的压力。在整个浏览器渲染过程中,缓存是极其重要的一个环节。如下图 如图所示,如果没有缓存机制的话,http请求每次都会先走dns
阅读全文
摘要:前端性能测试 什么是前端性能测试?打开一个网页,或者一个app,首页加载的速度直接决定了后续用户是否会继续使用。例如我打开一个H5页面超过了10s,那下一步的操作肯定是卸载。 前端性能测试工具Chrome performance Chrome performance 1、F12调出DevTools;
阅读全文
摘要:什么是jms jms全称Java消息服务(Java Message Service),是Java平台中面向消息中间件的api。用于在两个应用程序中或分布式系统中发送消息,实现异步通信。处于中间层 因此jms是处于应用和消息中间件之间的一个服务层 jms概念 名词解释 提供者: 实现JMS规范的消息中
阅读全文
摘要:MQ mq指的是消息队列。在数据结构中就是“先进先出”。例如我们在超市买东西排队,先排到的先结账,这就是典型的先进先出。 MQ常见名称 Broker 消息服务器,作为server提供消息核心服务 Producer 消息发布者,业务的发起方,负责生产消息传输给broker, Consumer 消息订阅
阅读全文
摘要:webservice基本概念 Web Service是一种跨语言和跨操作系统的远程调用技术 跨编程语言:指的是服务程序可以用java编写,而客户端程序则可以采用其他编程语言编写; 跨操作系统:指的是服务端程序和客户端程序可以在不同的操作系统上运行; 远程调用:指的是a计算机可以调用b计算机的一个方法
阅读全文
摘要:linux下tcp参数优化 vim /etc/sysctl.conf #未收到客户端确认信息的连接请求的最大值 net.ipv4.tcp_max_syn_backlog=5000 #timewait数量 net.ipv4.tcp_max_tw_buckets = 6000 #改进tcp的拥塞控制机制
阅读全文
摘要:概述 最近群里有一个小伙伴提了一个性能问题。大概描述是这样的。它的服务器cpu过载了。过载到什么程度呢?8个逻辑cpu一分钟内平均负载最高达到了529 平均负载解释 系统处于可运行状态和不可中断状态的平均进程数,平均活跃进程数。包括正在使用 CPU 的进程,还包括等待 CPU 和等待 I/O 的进程
阅读全文
摘要:概述 我们用jenkins做持续集成的时候,常常需要跑不同的脚本,传不同的参数。尤其是性能基准测试,线程数和持续时间需要实时调整以满足我们的测试需求。那么是不是需求变了,我们 就需要重新准备一套脚本?或者说我们需要去GUI界面下调整线程数,再重新上传脚本去集成呢?这样繁琐的操作会导致效率大幅降低。我
阅读全文
摘要:需求 下面有3个场景,思考一下在jmeter里面如何设计 场景1:有一个项目,500用户同时登录,响应时间能达到多少 场景2:考勤打卡,最大吞吐量能达到多少(每秒最大能完成多少笔打卡业务) 场景3:银行业务,如果需要支持1分钟内完成3000笔取款操作,平均每秒能支持多少用户同时取款完成 压力模式 性
阅读全文
摘要:并发用户负载 我们在讨论负载测试的时候,会说持续稳定地增加系统的负载。那么什么是持续稳定的增加负载呢?前文说过负载模型有两种,一种是用户并发模式的负载,一种是吞吐量模式负载,这里我们重点说并发用户模式负载。 jmeter中,线程数可以看做是虚拟并发用户。那么我们想要稳定的增加负载,就需要持续不断地增
阅读全文
摘要:吞吐量模式 吞吐量模式有两种。一种是TPS,一种是RPS。前者用来设计业务量模型,后者用来控制压力引擎。我们在用吞吐量模式设计负载场景的时候就有2种方法。 1:持续的增加TPS 2:持续的增加RPS 但是tps用来衡量服务端的性能,是有上限的。也就是说我们持续增加的负载不可能超过服务端的吞吐量上限阈
阅读全文
摘要:概述 性能测试脚本跑完了之后,我们除了要收集瓶颈数据,还有分析错误数据。通常一套脚本跑完,错误类型不止一种,但是jmeter只会在聚合报告里面给出一个总体的错误率。 错误率 jmeter里的错误率是如何统计的? 在返回的数据里面,只要success这一栏是false的,系统都认为是错误。但是我们在j
阅读全文
摘要:进程优先级 执行top命令,观察nice和pr nice值的范围是-20到+19。各位是不是觉得nice值越大,优先级就越高?恰恰相反,nice值越低,优先级越高。 nice的范围从-20到+19,正值表示低优先级,负值表示高优先级。0表示不调整该进程的优先级。-20表示一项任务非常紧急;相反的,如
阅读全文
摘要:概述 在本地针对项目的登录接口做了一次简单的压力测试。200并发持续120s,观察吞吐量 运行结束之后,吞吐量是这样的 如图所示,吞吐量波动巨大,完全不正常。现在我们需要去观察一下服务器了 mpstat -P ALL 1* 先看一下cpu的运行情况 可以发现cpu的利用率呈现一种阶梯式递增的趋势,但
阅读全文
摘要:概述 jmeter的运行方式,大致有三种:windows下的gui运行,windows下的非gui运行,linux运行。 GUI监听数据转换 在GUI客户端下,可以从容的挂载各种监听器。tps,hps,rt等等。我们可以直观的看到各种折线图 但是这样的折线图有个缺点,不能很精确的找到某些拐点数据,因
阅读全文
摘要:概述 我们原先在服务器上想分析硬件瓶颈,需要执行一系列的linux命令。对于linux命令不熟悉的人来说,比较困难。现在有一套集成的shell脚本,把常用的linux命令都包含在里面,一键式分析性能瓶颈 脚本功能 1、查看CPU利用率与负载(top、vmstat、sar)2、查看磁盘、I/O负载(d
阅读全文
摘要:概述 性能测试中,如果一台机器的资源不足以支撑压测需求,那么我们就需要分布式来执行。所谓分布式,就是一台控制机带着N多台执行机同时跑脚本 分布式执行原理 分布式测试时,本地jmeter作为控制机(master),其它机器做为执行机(slave)。master把脚本分发到每台slave上,slave执
阅读全文

浙公网安备 33010602011771号