摘要: 2022年《高级性能测试项目实战》(火热报名中!) 主讲老师:飞天小子 上课方式:腾讯课堂(直播+录播) 课程价格:4699 上课时间:每周六、周日晚上20:00-22:00 微信联系:uhz2008 学习内容 性能测试理论基础(需求,计划,指标,场景) 性能测试场景与脚本设计(并发,负载,容量,异 阅读全文
posted @ 2021-08-30 16:38 飞天小子 阅读(551) 评论(0) 推荐(0) 编辑
摘要: 文档都已经上传到飞书知识库,自由阅读 阅读全文
posted @ 2018-05-01 14:29 飞天小子 阅读(36346) 评论(12) 推荐(73) 编辑
摘要: 概述 Arrivals 线程组,基本用法就是通过设计预期的总吞吐量,让系统计算需要的线程数。此时的线程数就是平均并发数 如果单线程的业务处理时间是2s/笔,也就是吞吐量为0.5笔/s,此时想达到10笔/s就至少需要20个线程同时处理; 如果单线程的业务处理时间是200ms/笔,也就是吞吐量为5笔/s 阅读全文
posted @ 2022-08-21 10:04 飞天小子 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 概述 线程组是一个测试计划的起点。测试计划中所有元件的运行都必须依托于线程组。每个线程组都会独立的运行测试计划,互不干扰 线程数 线程数在并发用户场景下表示用户数,比如100用户同时发起请求 线程数在业务量场景下表示并行的业务数,比如100笔业务同步处理 Ramp up Ramp up表示线程启动的 阅读全文
posted @ 2022-08-21 10:02 飞天小子 阅读(42) 评论(0) 推荐(0) 编辑
摘要: Redis性能分析有几个大的方向。分别是 (1)基准对比 (2)配置优化 (3)数据持久化 (4)键值优化 (5)缓存淘汰 (6)Redis集群 基准对比 在没有业务实例运行的情况下,在服务器上通过测试Redis 实例的基准性能来对比有实例运行情况下的redis性能。通过以下步骤来判断Redis实例 阅读全文
posted @ 2022-02-05 14:19 飞天小子 阅读(141) 评论(0) 推荐(0) 编辑
摘要: Mysql性能优化 Mysql的性能参数可以分为以下几个大类,这里仅整理一些常用的参数配置 连接参数 max_connections mysql服务器的最大连接数 show VARIABLES like '%connections%' 查看mysql服务器的最大连接数 Max_user_connec 阅读全文
posted @ 2021-10-09 14:00 飞天小子 阅读(229) 评论(0) 推荐(1) 编辑
摘要: 概述 对Nginx域名转发做了个压测,结果不大理想,jmeter哗哗的报错,nginx连接全是超时,tps波动特别大。如下图 tps在490的时候开始剧烈抖动 大致的错误信息如下 { "timestamp":"2021-09-22T07:52:22.178+0000", "status":500, 阅读全文
posted @ 2021-09-23 13:09 飞天小子 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 问题描述 群里小伙伴在做并发上传文件的时候,大约到30并发量左右,响应时间就变得特别长。从服务端的tomcat可以看到大量的错误日志。报错如下 org.apache.catalina.connector.ClientAbortException: java.io.IOException: Conne 阅读全文
posted @ 2021-09-10 10:36 飞天小子 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 2022年《高级性能测试项目实战》(火热报名中!) 主讲老师:飞天小子 上课方式:腾讯课堂(直播+录播) 课程价格:4699 上课时间:每周六、周日晚上20:00-22:00 微信联系:uhz2008 学习内容 性能测试理论基础(需求,计划,指标,场景) 性能测试场景与脚本设计(并发,负载,容量,异 阅读全文
posted @ 2021-08-30 16:38 飞天小子 阅读(551) 评论(0) 推荐(0) 编辑
摘要: 概述 很多同学其实都简单的做过分布式压测。按照百度说明书改一下配置,简单调试一下,就大功告成了。那么分布式真的这么简单吗? 判断需不需要分布式压测 压力机资源不够的情况下,我们就需要另一台机器来支撑一下。比如要做一万线程的并发,单台机器撑不住了怎么办?再配置一台机器来分担压力。 那又怎么判断出压力机 阅读全文
posted @ 2021-08-30 15:57 飞天小子 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 压测场景 800线程做稳定性压测时,接口大批量返回500异常,如下所示 可以发现,很明显是Nginx返回的错误。但是从接口返回看不出太多的细节问题,需要打印nginix日志查看 日志分析 打印nginx日志,可以看到大量的异常信息:Too many open files 看起来是句柄数超出文件限制了 阅读全文
posted @ 2021-08-14 07:31 飞天小子 阅读(583) 评论(0) 推荐(0) 编辑
摘要: QQ交流群:956186148 ## 性能测试能力测评 答卷共50题,100分 试题内容由浅到深,同学们慎重答题 对题目有疑惑的加微信**【uhz2008】**答疑 ###基础理论题 1、下面哪个不是性能测试方法? (单选题 *必答) ○ 负载测试 ○ 并发测试 ○ 黑盒测试 ○ 失效恢复测试 2、 阅读全文
posted @ 2021-06-20 15:47 飞天小子 阅读(1186) 评论(0) 推荐(0) 编辑
摘要: 联系微信:uhz2008 上课时间:6月3日-6月9日 每晚20:00开始 授课方式:腾讯课堂直播+录屏+内容答疑+思维导图课件 报名须知: 1.课程价格:1元 2.单节课参与20分钟以上可以获得当天课堂笔记 3.将本课程分享至朋友圈或微信群,截图联系老师可以退实际支付的40% 4.课堂总出勤率10 阅读全文
posted @ 2021-05-26 13:28 飞天小子 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 整理了一份关于性能测试的能力测评,题目难度比较大,大家谨慎答题哦! 阅读全文
posted @ 2021-04-09 22:00 飞天小子 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 这里整理了一份jmeter的能力评测题,一共12题,60分,大家来考验一下自己吧! 阅读全文
posted @ 2021-04-09 21:54 飞天小子 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 概述 jmeter可以针对MQ消息中间件进行压测。本篇讲的是activeMQ的Point-to-Point模式 Point-to-Point在MQ中称之为点对点模式。这种模式的特点是,消息只能被消费一次,阅后即焚 jmeter设计测试场景 jmeter添加sampler(JMS Point-to-P 阅读全文
posted @ 2021-01-09 17:06 飞天小子 阅读(806) 评论(0) 推荐(2) 编辑
摘要: 概述 最近在给第三方的合同签署做压测,中间整理了一些思路和测试点,和大家分享 脚本设计 这些第三方的项目,都有一个共同点,加密算法极其复杂。基本都涉及了base文档加密,参数ecode转码,转码再加密。我们需要把这些算法也设计到脚本里面,因为正式用户在上传合同之后,算法也是时间消耗的一部分。可以用事 阅读全文
posted @ 2020-09-27 15:50 飞天小子 阅读(441) 评论(0) 推荐(1) 编辑
摘要: 概述 接到上级通知,需要配合第三方供应商,对他们的合同签署流程进行一次压测。听起来很简单,但是中间涉及到的东西很多 业务流程 这个第三方的签署流程大致如下 1.登录获取token 2.获取当前时间戳 3.对合同pdf进行base64转码 4.转码过的合同写到body里 5.根据token,时间戳,b 阅读全文
posted @ 2020-09-10 16:12 飞天小子 阅读(584) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-09-01 15:24 飞天小子 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 深思熟虑之下,决定把这份性能测试入门手册分享给大家 最初整理这份教程的是因为自己在学习性能测试的过程中踩过了很多的坑,遇到了 数不清的问题,于是就想着将这些解决的问题全都归拢在一个文档里,方便自己查阅。没想到知识点积累的越来越多。渐渐的发现很多知识点都可以分类收纳,在整理过程中 又将自己掌握的一些技 阅读全文
posted @ 2020-06-08 22:22 飞天小子 阅读(2384) 评论(1) 推荐(4) 编辑
摘要: 性能交流扣扣群:317765580 性能测试的三个核心原理是什么? 1.基于协议。性能测试的对象是网络分布式架构的软件,而网络分布式架构的核心是网络协议 2.多线程。人的大脑是单线程的,电脑的cpu是多线程的。性能测试就是利用多线程的技术模拟多用户去负载 3.模拟真实场景。用户的访问时间,访问频率都 阅读全文
posted @ 2020-03-31 20:46 飞天小子 阅读(1349) 评论(0) 推荐(4) 编辑
摘要: 问题1 如何在大并发测试下,让登录或者后续接口只执行一次? 分析 这个问题网上的答案其实很多,但是大多不靠谱。 比如推荐使用仅一次控制器,但是仅一次控制器对线程组无效;比如推荐跨线程组调用,但是这样比较繁琐,新人也搞不定; 其实只要各位对元件熟悉,这个问题很简单 下图100线程: 添加一个吞吐量定时 阅读全文
posted @ 2020-03-07 08:24 飞天小子 阅读(2776) 评论(1) 推荐(5) 编辑
摘要: 概述 我们用jenkins做持续集成的时候,常常需要跑不同的脚本,传不同的参数。尤其是性能基准测试,线程数和持续时间需要实时调整以满足我们的测试需求。那么是不是需求变了,我们 就需要重新准备一套脚本?或者说我们需要去GUI界面下调整线程数,再重新上传脚本去集成呢?这样繁琐的操作会导致效率大幅降低。我 阅读全文
posted @ 2020-02-27 16:16 飞天小子 阅读(843) 评论(0) 推荐(2) 编辑
摘要: 概述 在本地针对项目的登录接口做了一次简单的压力测试。200并发持续120s,观察吞吐量 运行结束之后,吞吐量是这样的 如图所示,吞吐量波动巨大,完全不正常。现在我们需要去观察一下服务器了 mpstat P ALL 1 先看一下cpu的运行情况 可以发现cpu的利用率呈现一种阶梯式递增的趋势,但是负 阅读全文
posted @ 2020-01-17 07:16 飞天小子 阅读(2125) 评论(0) 推荐(1) 编辑
摘要: 概述 我们在进行阶梯式压力测试的时候,聚合报告生成的结果是一个汇总数据。并不会阶梯式的统计压测性能数据。这样我们就不能去对比不同阶梯压力下的性能数据变化趋势。 期望 假设现在一共会加载100个线程,我期望聚合报告中分别展示1-20,20-40,40-60,60-80的四个阶段的线程并发性能数据,而不 阅读全文
posted @ 2019-10-09 06:43 飞天小子 阅读(1716) 评论(0) 推荐(3) 编辑
摘要: 基础: 完整的性能测试流程 需求-计划-方案-环境搭建-用例设计-数据准备-场景设计-脚本开发-脚本执行-结果分析-问题反馈-性能调优-结果报告 性能指标 TPS,QPS,RPS,HPS,RT,VU,ERROR 测试类型 压力测试,负载测试,并发测试,spike测试,稳定性测试,破坏性测试,验收测试 阅读全文
posted @ 2019-09-25 22:23 飞天小子 阅读(1303) 评论(1) 推荐(3) 编辑
摘要: JVM内存包括区域 Heap(堆区) New Generation(新生代) Eden 伊甸园 Survivor From Survivor To Old Generation(老年代) 方法区 Permanent Generation(持久代) Stack(栈区) Metaspace(元空间) D 阅读全文
posted @ 2019-09-25 21:49 飞天小子 阅读(4173) 评论(0) 推荐(2) 编辑
摘要: 年轻代与老年代的调优(笔记整理) 几个常见名词 年轻代(young 区)从年轻代空间(包括Eden和Survivor 区域)回收内存被称为 Minor GC空间太小可能导致对象直接进入 old区 。如果old区 满了,会触发full gc。但也不能过大,过大会引起回收耗时过长,导致应用阻塞。 老年代 阅读全文
posted @ 2019-09-17 16:14 飞天小子 阅读(2594) 评论(1) 推荐(0) 编辑
摘要: 概述 昨天我们在课堂上讲了如何通过fiddler抓包,单一接口可以复制到jmeter中进行接口测试,那么如果抓包获取了大量的接口,我们如何快速实现接口转换成jmx文件呢? 今天给大家介绍fiddler的另一功能:Fiddler导出JMeter脚本 操作步骤 一:安装fiddler4.6及以上版本 链 阅读全文
posted @ 2019-09-17 11:47 飞天小子 阅读(2561) 评论(0) 推荐(3) 编辑
摘要: 概述 我们原先在服务器上想分析性能指标,需要执行一系列的linux命令。对于linux命令不熟悉的人来说,比较困难 现在有一套集成的shell脚本,把常用的linux命令都包含在里面,一键式分析性能瓶颈 脚本功能 1、查看CPU利用率与负载(top、vmstat、sar) 2、查看磁盘、Inode利 阅读全文
posted @ 2019-09-09 15:04 飞天小子 阅读(1311) 评论(1) 推荐(4) 编辑
摘要: 由于误删了dpkg的/var/lib/dpkg/info文件夹,导致安装文件的时候报错 错误提示:E: Sub-process /usr/bin/dpkg returned an error code (1) 执行下面的脚本可以修复 阅读全文
posted @ 2019-09-03 22:04 飞天小子 阅读(1376) 评论(0) 推荐(0) 编辑
摘要: ubuntu安装vim的时候,报错提示:vim : 依赖: vim-common (= 2:7.3.429-2ubuntu2) 但是 2:7.3.429-2ubuntu2.1 正要被安装 说明既存的vim-common包版本过低,先卸了再说 sudo apt-get purge vim-common 阅读全文
posted @ 2019-09-03 22:00 飞天小子 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 概述 在互联网产品中,产品的迭代速度越来越快,项目中的测试同学面临着前期需求摇摆不定,中间各种开发进度死锁,而发布时间却无法推迟。项目的前期阶段似乎总是在压榨着测试的执行时间。 如何减少测试返工,测试阶段的工作量的同时,保障项目质量? 立项后 项目目标要明确,最好有量化指标。 产品需求是否为项目目标 阅读全文
posted @ 2019-09-03 13:47 飞天小子 阅读(758) 评论(0) 推荐(1) 编辑
摘要: 概述 我们在使用JMeter执行性能测试的过程中,会遇到很多不方便的地方 GUI模式 执行脚本很方便,看结果也很方便,但是GUI模式消耗资源,对测试结果的准确性影响很大 非GUI模式 消耗资源很少,但是看结果很不方便。我们无法查看任何内容,只能每隔30秒看到一行运行状态 因此我们陷入了僵局 想看到测 阅读全文
posted @ 2019-09-03 11:27 飞天小子 阅读(1386) 评论(1) 推荐(0) 编辑
摘要: 概述 最近有很多朋友来咨询关于阶梯加压与聚合报告中实际请求数的问题。 大家的困惑基本一致,那就是明明自己只设置了几十个线程,最后为什么聚合报告中跑出了上万个请求? 关于这个问题,今天来实际操作并记录一下,解答大家的疑惑。 实验 还是用百度做例子 我们设置阶梯加压线程组的请求参数,如下图 此图表示 1 阅读全文
posted @ 2019-08-28 22:18 飞天小子 阅读(807) 评论(0) 推荐(0) 编辑
摘要: sqlmap简介 sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。 它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。 它支持My 阅读全文
posted @ 2019-08-17 06:28 飞天小子 阅读(584) 评论(1) 推荐(1) 编辑
摘要: 概述 空闲之余用jmeter对百度进行了一次压测,目的是分析一下性能的拐点,验证一下理论知识 操作 第一次实验:200并发 并发200,不限迭代次数,同时在请求下面加RPS定时器。 目的是在200线程下,将RPS逐步增加到1000/S,并持续运行一段时间。 在线程下面添加TPS,HPS,响应时间三种 阅读全文
posted @ 2019-08-04 09:23 飞天小子 阅读(1530) 评论(0) 推荐(1) 编辑
摘要: 概述 性能测试中,对服务端的指标监控也是很重要的一个环节。通过对各项服务器性能指标的监控分析,可以定位到性能瓶颈。 后端性能指标有CPU,内存,网络,I/O等等 分析思路 整体系统CPU利用率 内存利用率 磁盘I/O的利用率和延迟 网络利用率 CPU定位分析 监控命令:vmstat、sar、dsta 阅读全文
posted @ 2019-07-30 06:05 飞天小子 阅读(1446) 评论(1) 推荐(3) 编辑
摘要: 堆内存溢出 java.lang.OutOfMemoryError: Java heap space原因:java堆内存不够或者程序中有死循环; 解决:如果是java堆内存不够,需要通过调整JVM下面的配置来解决: < jvm-arg>-Xms3062m < / jvm-arg> < jvm-arg> 阅读全文
posted @ 2019-07-23 13:56 飞天小子 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 概述 近期帮朋友解决了一个浮点时间戳转换的问题,在这里记录一下。 具体场景是有一个十位浮点时间戳的list,需要遍历转换为当前的标准时间。 list如下: 实现步骤 实现步骤其实很简单,只需要一个foreach控制器,和一段转换时间戳的代码 第一步把时间戳提取出来 第二步把提取的时间戳传入forea 阅读全文
posted @ 2019-07-21 06:18 飞天小子 阅读(1631) 评论(0) 推荐(1) 编辑
摘要: 概述 今天看到一篇文章讲解VU、RPS、RT,中间有一个公式如下图 点击查看原文链接 并发数 = RPS * 响应时间 于是我在本地做了几次实验,试图验证一下公式的准确性 实验网站 www.baidu.com 第一次实验 100线程,一次迭代,启动时间1s,线程组和聚合报告如图所示 从结果可以看出, 阅读全文
posted @ 2019-07-19 12:41 飞天小子 阅读(2131) 评论(0) 推荐(2) 编辑
摘要: 目录结构 一、Sitespeed.io概述 1.Sitespeed.io简介 2.Sitespeed.io使用场景 二、Sitespeed.io的安装和使用 1.安装Sitespeed.io 2.连接Docker,驱动浏览器进行Web性能测试 1)连接Docker 2)驱动浏览器进行测试 3)测试报 阅读全文
posted @ 2019-07-18 15:47 飞天小子 阅读(883) 评论(1) 推荐(0) 编辑