自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (1)
  • 收藏
  • 关注

原创 jmeter获取系统偏离时间

Jmeter获取系统时间,并在系统方法1:jmeter time函数处理1.使用背景在做接口测试的时候,需要获取时间戳函数,常用的是获取当前时间的时间戳。但有时候为了达到某种预期效果,会需要用未来时间,此时我们就需要在系统时间上进行增加操作。2.操作步骤当前时间很容易获取时间戳表达(精确到毫秒)当前时间:${__time(,)}当前时间:${__timeShift(,,,,)}在当前时间上增加一天:${__timeShift(,,P1d,,)}在当前时间上增加一小时:${_

2021-03-17 17:13:50 443

原创 Ngrinder脚本开发各细节锦集-各种函数方法(groovy)

转载:https://www.cnblogs.com/xidianzxm/p/11602120.htmlNgrinder脚本开发各细节锦集(groovy)Ngrinder脚本开发各细节锦集(groovy)1、生成随机字符串(import org.apache.commons.lang.RandomStringUtils) 数字:RandomStringUtils.randomNumeric(length); 字母:RandomStringUtils.randomAlphabe

2020-11-03 14:40:41 738

原创 关于sql的一些优化,记住以下这些,不要看网上的一些以讹传讹!

1. in 在a in (b, c, d, ... , null)中, 括号里面的比较值里面存在NULL的话, 看其它比较值里面是否有跟a相等的值存在, 如果有则返回true, 否则返回false.2. not in 在 a not in (b, c, d,..., null)中,如果括号里面存在NULL的话, 则一律返回false.    3. exists 在 exists的关联查询条件里面如...

2018-07-06 15:01:13 336

原创 后台管理系统响应这么慢?还加载不出数据?需要了解的解决思路哦!

早上一来公司,质量部小伙伴们就说,后台系统“订单管理模块”无法加载出数据了,不是网络问题不是网络问题!好吧,DBA今日又请假,不能影响大家的测试,赶快排查下原因:1、 查看下日志吧:    进入k8s服务器,既然是订单模块加载数据出问题,那就找到对应的 订单微服务 :order 服务   ①、 k8s查看 找到我们的order微服务:kubectl get pods -o wide   ②  、 ...

2018-07-06 14:43:08 8072 1

原创 mysql复制延迟监控脚本

针对mysql一主多从时候,大数据情况下可能会遇到主从复制延迟问题,压测mysql时,需要进行复制延迟进行监控,Lepus可以对复制延迟方面信息进行监控,若项目紧急没时间部署Lepus情况下,可直接监控mysql复制延迟问题:监控mysql复制状态及延迟问题,主要监控命令为:show slave status。但是每次执行较为麻烦,编写shell脚本,压测期间自动监控统计,2种shell方式:

2018-02-07 10:39:54 925

原创 大并发压测下,redis连接异常Read timed out排查优化

压测业务流程:获取全国范围地区信息,第一次从mysql获取信息,获取到信息后hset到redis,后面的获取信息都走redis获取并返回接口数据。问题:20并发压测获取全国范围地区信息, 应用报错,getList:merchant:area:listerror,redis连接异常Read timed out(10并发正常),应用抛出错误:redis.clients.jedis.except

2017-12-10 15:54:14 28485

原创 又一OOM内存泄漏问题

gis项目内存泄漏,OOM原因定位分析:现象:压测10并发,持续3分钟后,AVG>3S,TPS=3,全面监控,各服务器资源及带宽方面方面没瓶颈。监控heap内存回收现象,如图出现每次回收不尽情况,持续压测下,heap内存消耗殆尽,出现内存泄漏,如图:  dump出存活对象,MAT分析内存使用情况及内存泄漏原因,如下占用93%,如图信息 最终原因及优化:查看源代码

2017-12-10 15:46:12 446

原创 走redis缓存和不走缓存TPS差异明显对比

接口处理逻辑:获取天气预报信息,1500个左右城市天气:程序第一次处理时候,会先判断redis key是否存在,若存在,直接返回对应数据;若不存在key,读取mysql对应表数据,同时把该数据缓存到redis,并返回数据;若第二次在访问同样数据,直接走redis获取对应数据。   对比业务的mysql和redis处理性能情况: 断掉redis服务,不走redis,走mysql取

2017-12-10 15:25:56 1674

原创 TPS波动各种原因总结,做过的项目大概总结下有5中以上情况...

tps具有一定的波动性--->找到tps波动原因:①、

2017-12-10 15:14:23 6286 4

原创 压测netty框架,返回少量java.net.ConnectException:Connection timed out,优化代码

xx项目需要做性能测试,开发端主要是netty框架,500并发TPS能达到7000+,但是返回少量 Connection timed out,原因有可能是代码有问题,也有可能仅是客户端主动关闭了连接,导致服务端的写失败,linux服务器本身无法处理如此大量请求,监控到客户端并未有大量CLOSE_WAIT状态,不过大量timewait状态,服务器端linxu内核已做各项参数优化。优化:一是限

2017-12-10 15:08:10 15004

转载 【JAVA 工具】jstack简单使用,定位死循环、线程阻塞、死锁等问题

转载地址:http://www.cnblogs.com/chenpi/p/5377445.html当我们运行java程序时,发现程序不动,但又不知道是哪里出问题时,可以使用JDK自带的jstack工具去定位;废话不说,直接上例子吧,在window平台上的;死循环写个死循环的程序如下:package concurrency;public

2017-12-10 09:44:06 860

原创 代码死锁,TPS低,RedisQPS低性能问题定位优化

问题:压测公司某业务线接口,TPS最大处理能力20左右,整个服务端资源无任何压力,cpu利用率较低6%,redis QPS较低原因排查:出现此问题,根据经验一般是代码存在死锁导致,jstack查看堆栈信息和查看业务代码。根据业务功能是发表祝福时候会生成一个楼层数据,而生成楼层加了锁,以防止并发导致楼层重复,如图:优化:由获取数据库id加锁改为redis自增获取。优化后,TP

2017-12-10 09:32:38 1719

转载 php-fpm backlog参数潜在问题

原文来自http://blog.csdn.net/willas/article/details/11634825前几天有业务在新机器上线测试时,发现个问题:同样的资源的虚机、同样配置的ngxin+PHP-fpmweb后端的两台机器,测试后发现:访问.html文件时QPS相差不大,但是访问php页面时其中一台的QPS是另一台的数倍。通过分析,发现是php-fpm的backlog参数引

2017-07-25 14:43:43 4730

转载 MongoDB 运行状态、性能监控,分析

这篇文章的目的是让你知道怎么了解你正在运行的Mongdb是否健康。转载自http://tech.lezi.com/archives/290mongostat详解mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查

2017-03-13 10:31:40 453

转载 Jmeter实现对字符串加密

转自 http://blog.csdn.net/yuanwq2012/article/details/51252649最近测试移动端接口,但是请求内容是用MD5加密的,所以要先对请求内容进行加密,Jmeter内置的没有MD5加密方法,所以自己从网上copy了一份,实现了加密功能,以下是具体操作: 1、从网上copy了一份MD5加密方法,用eclipse建个工程(包名、类名、方法名自

2017-02-23 09:55:15 1102

原创 bootstrap定义导航栏

切换导航                                                                                                                       留言簿                                                 

2017-02-21 10:55:54 388

原创 布局屏幕分类

BootStrap是一种全响应的技术,针对不同的显示屏幕尺寸,手机,平板,电脑桌面,BootStrap提供了不同的栅格布局的属性:col-xs-* 超小屏幕 手机 (col-sm-* 小屏幕 平板 (≥768px)col-md-* 中等屏幕 桌面显示器 (≥992px)col-lg-* 大屏幕 大桌面显示器 (≥1200px)

2017-01-20 15:47:50 530

原创 BootStrap栅格布局

BootStrap将屏幕分为12等分,在具体的DIV中,可以通过设置DIV的所占等分的数字确定其在屏幕中占有的宽度。如:class="row“>class="col-md-8"style="border:1px solid black;height:100px;">class="col-md-4"style="border:1px solid black;h

2017-01-20 15:45:32 664

原创 jmeter中将响应的信息保存到本地文件的代码

jmeter做性能测试中,需要把从服务器响应回来的数据保存到本地且每次返回的数据保存到一个文档中,jmeter中可以使用“保存响应到文件”,但是服务器每次返回的数据都单独保存为一个文档,不利于数据统计。保存服务器每次返回的数据到本地的一个文件代码如下:import org.apache.commons.io.FileUtils;import org.apache.jmeter.config

2017-01-16 16:21:18 8370 1

原创 服务器CPU利用率95%以上,高耗性能sql优化

交易明细查询模块,大于10并发以上,服务器CPU利用率达到95%以上,负载超高,监控到如下SQL大量等待,消耗资源严重,需要优化sql数据库服务器CPU利用率达到95%以上,负载超高,服务器不稳定,如图:

2017-01-16 16:17:21 2863

原创 java.lang.OutOfMemoryError内存泄露 代码定位及优化

问题现象:20并发登录系统户,刚开始所有指标正常,压测10分钟左右后,页面报java.lang.OutOfMemoryError,系统无法登陆,脚本无法正常压测,出现内存泄露,如图:监控分析:查看到应用服务器CPU一致持续97%以上,监控JVM,堆内存每次回收不彻底,无法正常释放,持续加压下heap内存消耗完,最终导致服务宕掉,无法访问系统页面。可确定,代码存在内存泄露

2017-01-11 18:52:27 1483

原创 loadrunner无法打开firefox浏览器机兼容性问题解决

使用firefox3.6版本的浏览器可兼容,百度网盘有保存

2017-01-11 18:48:31 15095

原创 loadrunner上传文件后,报“Error -26488: Could not obtain information about submitted file”解决方法

问题:·loadrunner 上传文件回放错误回放时lr报错:Error -26488: Could not obtain informationabout submitted file解决办法:录制完脚本后,把要上传的文件放到脚本存放的文件夹里面,重新回放就ok如图:

2017-01-11 18:46:42 5401

原创 性能测试脚本运行一段时间后TPS突然下降,过段时间后又恢复正常的原因

现象:1并发运行5分钟,脚本全部执行成功,所有指标正常,并发设置为20脚本运行一段时间后TPS突然下降为0,响应时间线条无打点记录,过段时间后相关指标又恢复正常,查看报错信息为连接不上服务器,如图所示:Error信息:连接服务器失败:定位分析:根据图中曲线走势和报错信息,“连接不上服务器,连接超时”,查看应用服务器的资源使用情况,内存,CPU,NET几乎没任

2017-01-11 18:43:38 15216 4

原创 controller中多用户并发时候,每个用户使用完参数化中的数据不在重复使用且每个用户不使用相同参数化数据的方法

工作中经常遇到标题中这样的情况,看到群里也经常有人问,操作很简单,如下:select next row:Unique(唯一)说明:每个Vuser取的参数都不一致,确保数据唯一性。Upate value on:Eachinteration(每次迭代)说明:每次遇到参数都取一个新值,如果在脚本的一次迭代中,该参数出现两次,那么两次都取不同的值。如图设置,每次每个用户取不同的值,

2017-01-11 18:32:44 2183

原创 Loadrunner中socket协议十六进制报文参数化方法

在做tuxedo和socket脚本的过程中,经常会碰到发送的报文是十六进制字符串。而往往我们又需要针对十六进制报文中的某些数据进行参数化。比如pos机交易,银行方面数据交易,几乎使用socket协议。比如需要对交易流水号进行参数化,此类数据参数化方法有两种(推荐第一种):①:需要参数化的流水号数据为:"\x00\x00\x01"Ø  新建一个参数化文件,且为File类型,如图:

2017-01-11 18:27:00 4671 2

原创 压测系统交易出现响应超时性能问题分析及解决。

问题:在大于10并发,xx交易开始大量报交易超时,持续压测,无法正常交易。分析:先查看网络问题,从前置ping加密机,经过2个路由,发现部分响应数据时间比较长,如图:最后确认为加密机不是在同一网段内,网络连接方面出现延时现象导致交易超时失败,将加密机切换到同一网段后,正常。B/S端、app端、或其他终端的此类现在问题分析及总结:1.先确定压力机的负载情况,是不是

2017-01-11 18:17:35 5305

转载 python 面向对象(进阶篇)

出处:http://www.cnblogs.com/wupeiqi/ python 面向对象(进阶篇)面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中)对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数面向对象三大特性:封装、继承和多态 本篇将

2016-11-14 13:16:30 402

转载 面向对象编程其实很简单——Python 面向对象(初级篇)

出处:http://www.cnblogs.com/wupeiqi/ 概述面向过程:根据业务逻辑从上到下写垒代码函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可面向对象:对函数进行分类和封装,让开发“更快更好更强...”面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处。1234567891

2016-11-14 13:02:47 6383

原创 python中lambda函数

lambda函数也叫匿名函数,即,函数没有具体的名称,而用def创建的方法是有名称的lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。lambda语句构建的其实是一个函数对

2016-11-06 19:54:00 511

原创 Socket协议Loadrunner脚本+8583报文解析及组装

本交易为POS消费交易,报文类型为8583通讯报文,一般在银联通讯方面,金融交易方面用的比较多,如下为手动编写我们的测试脚本,并非录制而成,在此类直接与接口交互的性能测试项目中,经常会用到报文组装、拼接等工作,这里记录想整个数据的解析拼装过程以及我们测试思路一:pos交易(8583协议)报文处理部分:必须熟悉不同交易每个域的划分及每个域的数据长度,具体详细报文结构不做具体描述,每个报文有其

2016-11-03 16:12:03 6943 2

转载 mysql性能优化-慢查询分析、优化索引和配置

目录一、优化概述二、查询与索引优化分析1性能瓶颈定位Show命令慢查询日志explain分析查询profiling分析查询 2索引及查询优化三、配置优化1)      max_connections2)      back_log3)      interactive_timeout4)

2016-09-12 16:20:29 555

原创 xx并发压测xx系统注册、查询、绑定邮箱等业务,数据库连接报异常及解决方法

在此并发下,报如下问题:Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 20, maxActive  20[2016-07-08 10:17:5

2016-08-30 21:03:18 2340

原创 APPScan配置URL连接后无法正常访问地址原因

本地能够正常访问需要测试的URL地址,但是在appscan中设置需要访问的URL后,无法访问,如下原因:appscan默认应该是调的IE进行浏览访问,查看本地IE代理设置了代理,取消代理设置,appscan访问成功,如图取消设置代理:

2016-08-30 20:47:32 15600 4

原创 loadrunner中Unique Number参数化设置及数据换算方法

在做测试时候,有的数据只能使用一次后不能在继续使用,xx系统“号段新增”后,不能在继续新增已增加过的号段,一个数据只能使用一次,在vugen中调试脚本即使多迭代几次,数据也是正常的,因为设置了按顺序增加号段,但是放在controller中进行压测的时候,是多并发进行的,所以就会出现前面的并发用户使用了前面几个数据,但是后面的并发用户数也有可能使用前面已使用的号段,这样就会造成新增号段失败。设置

2016-08-30 20:43:52 5617

原创 jmeter中不用time函数,用Random函数设置正确的时间格式

时间的格式必须是24hh:59min:59s,然而使用Random函数会造成时间格式错误问题,如随机出来的时间会大于24hh,59min,59s的情况,若要使用Random函数生成格式正确的时间,可以单独对时、分、秒进行合理时间范围内的参数化,如图: 直接用time函数:${__time(hhmmss,)} ${__time(yyyyMMddHHmmss,ReqTime)} 

2016-08-30 20:40:58 4504 1

原创 jmeter的_time函数格式问题

需要获取当前年月日日期格式:${__time(yyyyMMdd,)}。注意:yyy必须小写,MM必须大写,dd这里必须小写(大写后返回数据正常,头体加密数据异常)。不然会出现日期不正确误或者post数据get数据错误YYYYMMdd或YYYYMMDD写法结果:

2016-08-30 20:36:49 1994

原创 socket协议的接口测试方法

1.loadrunner使用socket协议写C调用底层socket协议数据2.jmeter添加websocket相关依赖包,可以添加websocket协议的sampler3.专门的socket协议测试工具,比如socket工具,tcpudptest等工具。tcpudptest无法设置并发数据量,不方便,而socket工具可以设置并发数据量,而且有相关的数据发送接收包的图像实时图,8583

2016-08-30 20:21:20 9636

原创 Loadrunner开发的socket协议脚本服务端无法通过解决方法

loadrunner测试socket协议接口脚本时候,发送数据,客户端报如下错误:解决:由于发送的数据中含有中文,与服务器编码方式不一致,更改本地客户端为UTF8或者更改为英文数据,发送报文正常。

2016-08-30 20:06:12 1394

原创 别太轻信测试脚本中返回的测试信息就判断脚本成功,需要核对数据库数据,日志信息才最真实

如下信息图,调试结果成功,数据也是按照预期的获取:很多人都说设置检查点就能判断测试业务是否成功,但是有的时候或者说部分特殊的业务,即使使用了web_reg_find函数,也无法真正判定脚本就是执行成功,我们需要核对数据库数据,日志信息才最真实,也要注意打印的日志中的各种异常信息,最好在linux服务器利用grep 过滤出相关异常信息,只是看检查点数据就判断成功,也许其实存在着我们并

2016-08-30 20:03:09 768

mongodb-driver-3.4.0-rc1.jar

mongodb-driver-3.4.0-rc1.jar mongodb-driver-3.4.0-rc1.jar mongodb-driver-3.4.0-rc1.jar mongodb-driver-3.4.0-rc1.jar

2020-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除