jmeter 压测最近的心得体会
笔者14年入坑测试,截止到17年年初一直在游戏公司,压测,我都没有怎么用过,特别是jmeter去压测,自己学习,可是先找到切入点,于是乎,
其实也算是我学习后,先找一个更大的平台吧,我聊了几个游戏公司,哎,没面上,可能是我也相不中,我换了现在的公司,教育公司。算是转行了,做在线教育公司的产品,
一开始我也是点点,每天面对不了的需求,期间也经历了部门的较大的人员离职,新领导就位,就到这个新老领导交替后,运行一段时间后,我们的产品可以说开始出来各种异常了,
其实我们一开始是认为功能的报错,或者服务器的错误,我们老大说让我盯着,我就和开发解决,一周左右吧,一直有,但是前期都紧急处理了,可是有一天,两个部门在外面分享我们成功呢,宣传呢应该,出问题了,用户也打电话反馈,CEO都开始关注了,我们紧急处理,紧急进行部分设备优化升级,部门老大紧急召开安全会议,让我们一定确保,可是加上开发几个不太熟悉系统吧,我们就排除错误,加上可能有服务器的问题,升级后,还是会出现,这可是我们要去解决的问题啊。
可是我们遇到了第一个难题,怎么去复现的问题,因为研发看日志,有几个 ,他也没有看到那个,这时候呢我说要不就模拟用户大量访问吧,这个时候运维说,看我可以搞吗,我就想到了我学过的的jmeter 我就说可以的,这样我们去复现问题,立马我就去找软件下载,可是问题来了,脚本,我没有脚本,其实研发那边没有文档一开始 ,没有给到我,我也不能一直卡在哪里,我能怎么办,短时间想办法解决问题,录制呗,简单粗暴,接着我就录制了登录的接口,有人会说你怎么都不录制,我也想,可是我现在要处理的就是登录时候的错误啊,我们只能先去紧急处理这个问题,我录制好脚本,就可以和运维来搞这个问题,我开始压测,我们先在测试环境去调试和测试, 可是我们没有复现出来这个问题,怎么办,但是我们发现了其他的问题,可是这个还不是我们想要的,但是我们公司有两套测试系统,我们想着用另一套去测试,但是虽然有问题,但是不是我们想要的,那么怎么办,没法,我们还是要做的,于是我就开始加压力,于是乎,我们复现了那个问题,但是我们也找到了一些其他的问题,我们怎么办呢,一就开始去和研发去定位的问题,排除了数据库的问题,我们数据库一直没有压力,看到有压力的就是我们的缓存服务器,
我们在想缓存服务器有问题,于是我们就来解决这个,可是这个时候我遇到了另外一个问题,我的电脑到700并发就开始异常了,windows的报错,那时候已经晚上了,加班的同事还很多,于是我就紧急的去培训了另外一个测试,也找了开发去配合,没法,时间紧迫,必须解决,我们只能这么几个人,1,2,3 点,一起看,这是最简单最有效的可以大规模并发的,我们找到了问题,就是在缓存上,紧急修改了这个错误,但是其实一个更大的坑,我们埋下来了,其实是因为当时处理问题的对系统的熟悉度不是特别高, 我们当晚在加班的时候,线上再次爆发,再次爆发,再次爆发,这是大事了, 我们都在加班,部门老大死命令,不解决这个问题我们今晚不收兵, 怎么办。解决,开始压测线上单台机器,那是凌晨,没法 我们必须这么做,只有这个点用户量小。 条件有限,我们必须去做,
这个时候来个小插曲,停电了园区,我们耽误了一段时间,后来我们在几个人用喊1,2,3一起点,我们解决了展示的问题,但是后来我们多加一个接口,新问题来了,尼玛,旧的临时能这么解决,新的就来了,我们的sql需要优化,300并发单台就能干死,怎么办,mql爆了,但是临时处理可以,第二天,没睡醒就去了公司,没法 压测,优化,我们这个时候呢,懂系统的来了,优化后sql快了,我们有开始去压测,去调试,突然有发现问题,我们昨天的处理会影响其他支付的相关功能,我擦,我们又紧急处理,我们两个接口 1500的并发,当天测试就完了,我们老大这个时候组织我们开了第二次的会议,明确接下来要搞的这个就是性能,保证线上啊,我们集体讨论,优化部分功能,调优啊,缓存那个调整后,接下来遇到了一个问题,怎么保证在现有的基础上保证我们的集群能够最大承受,我们开始调整链接池,去优化,单个机器晚上能够到2000并发,可是突然之间,我们遇到新问题,集群1500报错,接下来又是一场硬仗,分布调试就是不行,我们初步看看是否是负载均衡的地方有什么,可是用的第三方的云服务器,只能天亮解决了。
经过最近的加班来去优化,我发现其实很多问题一开始就可以避免到以后出现的大规模爆发问题:
1.程序进行合理化设计开发,功能开发前进行充分讨论设计,有个好的dba,有个好的架构
2.产品在给需求等,要开会听取研发等反馈,是否会产生新的问题
3.测试在测试中应该尽早去提出做性能,做压力,系统应该早点去发现。
4.就是线上出来了,那么紧急做,其实没办法,客官原因,这个时候,不要着急,先抓重点,及时开会,及时碰头,群里群策,
性能不是后来就对一个系统的考验,而是从一开始你设计这个系统的时候就要考虑到的。
可是有时候我们面临这很多问题,我们要做的,就是去弥补之前丢失的性能测试的工作,那么这个时候等待我们测试的就是大量的工作,批量的加班,没办法,保证线上,保证大量用户的系统的平稳运行,这个时候整体就要抽出来我们的一半的人员去为性能去优化。
性能不能不做,性能一定要做,不要等用户上来了才做性能,要从根上就要开始注意性能。牢固的地基才是建筑永远树立。
后续会继续吧我的经历分享给大家。
jmeter 压测最近的心得体会的更多相关文章
- jmeter压测app
使用代理的方式,录制app端脚本,之后用jmeter压测就没啥好说的了 1.电脑端谷歌设置本地代理(端口号为8888) 2.jmeter设置HTTP代理服务器(端口号为8888) 3.手机端wifi设 ...
- JMeter压测基础(三)——Mysql数据库
JMeter压测基础(三)——Mysql数据库 环境准备 mysql驱动 JMeter jdbc配置 JMeter jdbc请求 1.下载mysql驱动:mysql-connector-java.ja ...
- jmeter压测参数设定(转)
jmeter压测参数设定 一.基本公式 线程数 = QPS * time: 注:QPS--每秒完成请求的个数:time--每个请求响应完成平均需要时间: 故QPS * time就是所有请求完成响应所需 ...
- jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包
一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps: ...
- jmeter压测之添加负载机
jmeter压测基本介绍一般基准测试(基准测试时间一般为5分钟)后压测的时间是10-15分钟: 实施测试之前要拿到测试指标 例如:tps要达到多少响应时间要达到多少并发数要达到多少TPS :服务端每秒 ...
- jmeter 压测duobbo接口,施压客户端自己把自己压死了
jmeter 压测duobbo接口,jmeter代码不合理,导致每执行一次请求,会调用一次消耗内存的实例化.导致越压越慢,请求发不出去.这个时候需要考虑修改代码了. 截图中,tps越来越少. 原来初始 ...
- jmeter压测-负载配置
jmeter 压测 一般压测的时间是10-15分钟 TPS:服务端每秒钟处理的请求数 越大越好 响应时间 :越短越好 并发用户数 也就是多少并发 指标给你:tps要达到多少 响应时间要达到多少 并 ...
- JMeter压测“java.net.BindException: Address already in use: connect”解决方法
之前在windows机上用JMeter压测,50并发下出现大量接口报“java.net.BindException: Address already in use: connect”错误. 从字面的意 ...
- jmeter压测学习1-window环境准备与案例
前言 最近用jmeter做一些接口的压力测试,记录下使用过程中遇到的一些问题. 在使用window机器做并发压测的时候,发现并发数设置100的时候,会出现报错:java.net.SocketExcep ...
随机推荐
- python-opencv在有噪音的情况下提取图像的轮廓
对于一般的图像提取轮廓,这篇博文介绍了一个很好的方法,但是对于有噪声的图像,并不能很好地捕获到目标物体. 比如对于我的鼠标,提取的轮廓效果并不好,因为噪声很多: 所以本文增加了去掉噪声的部分. 首先加 ...
- windows 10 安装tensorflow
人工智能一浪接一浪,随着谷歌公布tensorflow源码,尤其是支持windows 10平台的python3.5以上版本,更是让更多人都想用windows操作tensorflow. 第一次安装,也不知 ...
- Visual Studio 2013怎么关闭智能提示?
visual studio的智能提示加快了程序员写代码的速度,但是却让程序员更加的依赖编辑器,离开了智能提示,会忘记很多代码~,甚至会问自己,我还是程序员吗? 下面给出关闭visual studio智 ...
- Java 生产图片验证码
import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;impor ...
- 为Markdown文件生成目录
缘由 思路 效果 代码实现 缘由 Markdown源生文件源生不支持目录,目前比较主流的生成目录的方式(各式插件),都是转化为HTML文件.虽然HTML文件可以生成眼花缭乱的目录,但是修改起来又没有M ...
- chrome开发工具指南(一)
注意:如果你是一个网页开发者同时想要获得最新版本的开发工具,那么你应该使用谷歌浏览器(金丝雀)Canary 版. Chrome 开发者工具 打开Chrome 开发者工具 选择浏览器位于浏览器窗口右上方 ...
- CSS中的路径裁剪样式clip-path
前面的话 CSS借鉴了SVG裁剪的概念,设置了clip-path样式,本文将详细介绍路径裁剪clip-path 概述 clip-path属性可以防止部分元素通过定义的剪切区域来显示,仅通过显示的特殊区 ...
- 编程零基础应当如何开始学习 Python?
提前说一下,这篇福利多多,别的不说,直接让你玩回最有手感的怀旧游戏,参数贴图很方便自己可以根据喜好修改哦. 本篇通过以下四块展开,提供大量资源对应. 选一个好版本 有没有看过<在下坂本,有何贵干 ...
- 沙盒单机网站代表-Steam【推荐】
Steam平台是Valve公司聘请BitTorrent(BT下载)发明者布拉姆·科恩亲自开发设计的游戏平台. Steam平台目前是一款全球最大的综合性数字发行平台.玩家可以在该平台购买.下载.讨论.上 ...
- 团队作业4----第一次项目冲刺(Alpha版本)4.28
a.提供当天站立式会议照片 会议内容 今天我们主要针对统计结果的表现形式进行了一些讨论,我们考虑是直接显示统计数据或者是用一些直观的图形来体现,最后经过讨论我们大部分人认为选择数据与图形更加形象直观. ...