![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
性能测试、jmeter
文章平均质量分 57
性能测试、jmeter
全栈测试笔记
这个作者很懒,什么都没留下…
展开
-
java 获取对象的数据类型、数据类型转换
获取对象类型:obj.getClass().toStriing();Integer.valueOf返回的是Integer对象,Integer.parseInt返回的是intpackage com.test;public class CV { public static void main(String[] args) throws ClassNotFoundException {...原创 2016-11-11 21:00:00 · 83 阅读 · 0 评论 -
LoadRunner断言:正确结果有多种情况
用过lr的都知道,我们可以用web_reg_find这个注册函数判断某个请求的返回中是否有我们要找的内容,这就是检查点。但是,如果正常的情况有多种,该如何断言呢?我们可以设置多个检查点,把每个检查点获取到的结果数量相加,如果大于0,就表示请求成功,然后通过if条件,人工判断事务是否成功。示例代码:Action(){ int res = 0; //int int_res = 0;...原创 2016-10-30 21:48:00 · 209 阅读 · 0 评论 -
录毛线脚本,直接手写接口最简洁的LoadRunner性能测试脚本(含jmeter脚本)
近日翻看了下招聘信息,很多都要求loadrunner和jmeter这两款工具,毕竟是性能测试的主流客户端并发工具。录制的问题做性能脚本是性能测试的基本功,loadrunner和jmeter这两款工具都提供录制的功能,经常在群里看到有测试朋友问录制脚本的问题: 1、录制不到脚本; 2、浏览器卡死; 3、录制的脚本杂乱; 4、其它...原创 2017-05-18 07:05:00 · 221 阅读 · 0 评论 -
LoadRunner回放乱码
乱码的原因和服务器字符集编码相关,默认LR是gbk解码,如果服务器是utf8,那么需要改为utf8解码,这样中文就显示正常了。通过查看源码,可以知道服务器的编码方式:<metacharset="UTF-8">局部方法:把这个请求的响应转码全局方法:如果服务器是gbk,那么保持lr使用系统gbk(如果系统是英文版,考虑如何将系统字符集转换为中文)如果服务器是utf-8...原创 2017-05-18 04:17:00 · 79 阅读 · 0 评论 -
数据库水平切分(拆库拆表)的实现原理解析(转)
第1章 引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当 高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可 以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机...转载 2017-06-24 13:02:00 · 54 阅读 · 0 评论 -
数据库工作原理
我并非专业DBA,但做为B/S架构的开发人员,总是离不开数据库,一般开发员只会应用SQL的四条经典语句:select ,insert,delete,update。但是我从来没有研究过它们的工作原理,这篇我想说一说select在数据库中的工作原理。B/S架构中最经典的话题无非于三层架构,可以大概分为数据层,业务逻辑层和表示层,而数据层的作用一般都是和数据库交互,例如查询记录。我们经常是写好查询...原创 2017-06-14 01:11:00 · 102 阅读 · 0 评论 -
【原创】python多线程测试接口性能
除了使用性能测试工具进行性能测试,我们也可以直接用python多线程进行性能测试。下面,使用这几个模块,对一个查询接口做性能测试:requests:发送http请求json:返回的字符串转换成json格式threading:多线程time:统计时间具体实现过程见代码及注释。import requestsimport jsonimport threadingimport ti...原创 2017-06-13 23:37:00 · 63 阅读 · 0 评论 -
【转】Context Switches上下文切换性能详解
Context Switches 上下文切换,有时也被称为进程切换(process switch)或任务切换。是一个重要的性能指标。CPU从一个线程切换到另外一个线程,需要保存当前任务的运行环境,恢复将要运行任务的运行环境,必然带来性能消耗。Context Switches 上下文切换简介操作系统可以同时运行多个进程, 然而一颗CPU同时只能执行一项任务,操作系统利用时间片轮转的方式,让用...转载 2017-08-03 13:50:00 · 86 阅读 · 0 评论 -
【转】CPU上下文切换的次数和时间(context switch)
什么是CPU上下文切换?现在linux是大多基于抢占式,CPU给每个任务一定的服务时间,当时间片轮转的时候,需要把当前状态保存下来,同时加载下一个任务,这个过程叫做上下文切换。时间片轮转的方式,使得多个任务利用一个CPU执行成为可能,但是保存现场和加载现场,也带来了性能消耗。 那线程上下文切换的次数和时间以及性能消耗如何看呢? 如何获得上下文切换的次数?...转载 2017-08-03 13:45:00 · 129 阅读 · 0 评论 -
操作系统相关术语
上下文切换详解http://ifeve.com/context-switch-definition/原文地址,译文地址,译者:董明鑫,校对:郑旭东上下文切换(有时也称做进程切换或任务切换)是指CPU从一个进程或线程切换到另一个进程或线程。进程(有时候也称做任务)是指一个程序运行的实例。在Linux系统中,线程就是能并行运行并且与他们的父进程(创建他们的进程)共享同一地址空间(一...转载 2017-08-01 23:15:00 · 139 阅读 · 0 评论 -
Linux监控--CPU、内存、I/O
CPUtop命令能够实时监控系统的运行状态,并且可以按照CPU、内存和执行时间进行排序,同时top命令还可以通过交互式命令进行设定显示,通过top命令可以查看即时活跃的进行。内存free命令可以查看当前系统内存的使用情况free -m以MB为单位显示系统内存的使用情况,同理,也可以使用-k、-g等其他的单位显示free -m磁盘I/O磁盘的读写能力iostat -x -m 1...原创 2017-07-30 00:41:00 · 90 阅读 · 0 评论 -
【转】JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争...转载 2017-07-03 00:44:00 · 67 阅读 · 0 评论 -
Eclipse Memory Analyzer(MAT)使用
Eclipse Memory Analyzer(MAT)使用一、OutOfMemoryError*时开发、测试过程中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题,我们需要找出造成OutOfMemoryError原因。一般有两种情况:1、内存泄露,对象已经死了,无法通过垃圾收集器进行自动回收,通过找出泄露的代码位置和原因,才好确定解决方案;...转载 2017-10-27 02:55:00 · 230 阅读 · 0 评论 -
jmeter对接口测试入参进行MD5加密的5种方式
在使用jmeter做测试的过程中,经常需要对请求的入参进行加密,下面列举几种常用的方法,以登录请求密码需要MD5加密为例。虽然可以先把参数化的明文密码都先md5加密,而不是在登录前先执行加密,但是实际情况是,登录后的请求也可能有需要加密的入参,且入参是动态获取的,所以最好是在脚本运行过程中加密,而不是提前加密好进行参数化。如果用户的密码都不一样,就需要先对明文密码进行参数化。下面只演示单个用...原创 2018-08-05 22:26:00 · 549 阅读 · 0 评论 -
jmeter生成测试报告(非gui)
创建脚本3个线程持续运行30秒访问百度首页断言百度搜索断言命令方式执行生成报告生成报告查看报告点击index.html聚合报告jmeter中的聚合报告,和上面相比,tps保留一位小数,进行了四舍五入的处理响应时间中,打开jtl结果文件tps中,打开jtl结果文件...原创 2018-08-28 21:49:00 · 94 阅读 · 0 评论 -
【转】使用jvisualVm监控本地和远程的jvm
jvisualVm是jdk自带的可视化监控工具,功能很强大,可安装各种扩展插件。本篇不打算讲解如果使用详细的功能,只讲在windows环境怎么监控本地和远端(一般是无界面的linux系统)的java进程。1、在远程机器上添加权限策略文件 在服务器{JAVA_HOME}/bin目录建立文件:jstatd.all.policy(名字随便,符合*.policy即可), 文件内容为:gr...转载 2018-10-01 09:14:00 · 124 阅读 · 0 评论 -
【转】top命令输出解释以及load average 详解及排查思路
https://blog.csdn.net/zhangchenglikecc/article/details/52103737昨天nagios报警warning,没来得及留下报警截图,nagios值设定的值是当1分钟多于15个进程等待,5分钟多于10个,15分钟多于5个则为warning状态当1分钟多于30个进程等待,5分钟多于25个,15分钟多于20个则为critical状态---...转载 2018-10-14 21:32:00 · 313 阅读 · 0 评论 -
什么是系统平均负载(Load average)
一、什么是系统平均负载(Load average)? 在Linux系统中,uptime、w、top等命令都会有系统平均负载load average的输出,那么什么是系统平均负载呢?Load Average是CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。 系统平均负载被...原创 2018-10-14 22:46:00 · 1740 阅读 · 0 评论 -
Jmeter工具之上传图片,上传音频文件接口
更多,请参考:https://www.cnblogs.com/uncleyong/p/11268846.htmlMIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打...原创 2018-10-15 19:57:00 · 98 阅读 · 0 评论 -
如何编写性能测试场景用例
前言写测试用例,是测试绕不开的工作内容,不管是功能、自动化,还是性能。先来回顾一下功能测试用例主要包含的要素:测试用例编号、测试标题、所属模块、测试需求项编号、案例状态、预置条件、优先级、测试输入、操作步骤、预期输出、实际结果、案例设计者、设计日期、案例性质等。性能测试用例(有的称为场景用例)的设计,有别于功能测试用例、自动化测试用例的设计,毕竟,考虑的点不一样。对于性能测试来说,一般要考虑这...原创 2019-04-01 23:04:00 · 1398 阅读 · 0 评论 -
LoadRunner开发ftp协议接口之上传文件脚本
Action(){ //建立一个ftp对象 FTP myftp=0; //建立FTP连接并登录 ftp_logon_ex(&myftp,"ftpLogon", "URL=ftp://192.168.11.12", LAST); //插入集合点和事务 lr_rendez...原创 2019-04-06 12:35:00 · 85 阅读 · 0 评论 -
jmeter5.1测试dubbo接口
dubbo接口功能介绍客户端输入uncleyong(当然,也可以是其他字符串),服务端返回hello uncleyong此dubbo接口开发:https://www.cnblogs.com/uncleyong/p/10732747.html开发dubbo服务jmeter客户端idea中创建模块dubbo_jmeter5默认输入uncleyong,也可以修改这个值package co...原创 2019-04-14 10:07:00 · 75 阅读 · 0 评论 -
性能测试常用术语解释
术语性能测试,有很多专业术语,为了方便大家理解,这里用通俗的语言来解释下,如果有不准的地方,欢迎反馈。并发:tps线程数:跑道里参加赛跑的人数迭代(jmeter中叫做循环次数):每个人跑多少圈循环(jmeter中是循环控制器):一次迭代里面,反复执行其中一段脚本,就是反复来回跑其中一段跑道参数值:发请求时候用的数据参数化:是一种策略,可以根据参数策略获取参数值,参考:https:/...原创 2019-04-14 07:24:00 · 188 阅读 · 0 评论 -
LoadRunner中,File参数类型--文本参数显示问题
默认情况,File参数类型,参数数据量只能显示100(参数从0开始,99之后的不显示,但不影响正常取数据)但是可以修改D:\Program Files (x86)\HP\LoadRunner\config下的vugen.ini文件,修改MaxVisibleLines的值比如修改成1000,第101个数据就可以展示了...原创 2019-04-13 20:39:00 · 127 阅读 · 0 评论 -
LoadRunner【第四篇】参数化
参数化的定义及使用场景定义:将脚本中的特定值用变量替代,该变量值是变化的(注意:这个值是我们自己创建的,不是服务器返回的)。参数化的原因,并不是网上说的真实模拟不同用户,真实反应服务器性能,而是: 数据唯一性(比如注册名不能一样) 避免数据库查询缓存思考:模拟1000个用户登录论坛,1000个相同的用户名相同的密码与1000个不同的用户名不同的密码的区别?File参数类型-...原创 2019-04-13 18:15:00 · 420 阅读 · 0 评论 -
LoadRunner【第三篇】录制脚本实践:订票网站
启动服务安装好loadrunner,我们就可以实践了。安装包请加Q群652122175获取,安装参考:https://www.cnblogs.com/uncleyong/p/10698925.htmlloadrunner自带订票网站,可以方便我们练习先把下面两个发送到桌面快捷方式首先,启动服务,点击下面图标(如果服务无法启动,检查端口是否被占用,参考:Linux及Windows查看占用...原创 2019-04-13 17:21:00 · 341 阅读 · 0 评论 -
LoadRunner【第二篇】原理及使用流程
loadrunner是一款主流的客户端并发工具,功能很强大,虽然近几年风头不及开源且轻量级的jmeter,但它依旧宝刀未老,从招聘信息上就可以看到,很多招聘都要求会loadrunner,所以,学会它,对提升自己的竞争力很有帮助。loadrunner工作原理loadrunner只关注底层数据,即监控客户端和服务器端之间发送了什么数据,而不关注业务、也不关注客户端动作;不关注业务:脚本运行正确...原创 2019-04-12 22:51:00 · 132 阅读 · 0 评论 -
jmeter4.0测试dubbo接口遇到的问题:An error occurred: org.springframework.scheduling.quartz.CronTriggerBean has
半年前,用jmeter4.0测试dubbo接口的时候,遇到这样一个问题An error occurred:org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super classerrorlevel=1好几个测试技术群里问了半天,也没答案。从下面的图也...原创 2019-04-14 22:44:00 · 127 阅读 · 0 评论 -
jmeter5.1测试websocket接口
jmeter没有websocket协议的取样器,需要我们自己开发,但是网上已经有大神先开发好了,【相关jar包,点击左侧加群获取】只需要放到jmeter的ext目录(D:\apache-jmeter-5.1.1\lib\ext)下即可重启jmeterWebSocket Sampler by Maciej Zaleski最新版下载地址:JMeterWebSocketSamplers:...原创 2019-04-18 21:56:00 · 146 阅读 · 0 评论 -
jmeter5.1企业级应用功能详解
apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性、度量被测试软件的性能。jmeter可以模拟大量的服务器负载,并且jmeter提供图形化的性能分析。JMeter和LoadRunner对比1、lr稳定,使用c写,jmeter跨平台,免费,开源,小巧,java写的;2、jmeter没有进程方式,只有线程;3、jmeter没有IP欺骗;4、lr有...原创 2019-04-19 23:39:00 · 87 阅读 · 0 评论 -
JMeter5.1开发Java协议接口脚本【待完成】
JMeter5.1开发Java协议接口脚本原创 2019-04-19 23:43:00 · 53 阅读 · 0 评论 -
JMeter5.1开发TCP协议接口脚本
示例最简单的方法,就是找开发给报文,直接复制到tcp取样器中,将需要变化的值做参数化就可以了。(xml报文要去掉回车换行、空格)字段含义隐藏了哈通讯头56个字节(1个字符一个字节)3 + 9 + 9 + 10 + 5 + 8 + 12 = 56最前面是8个字节,内容是:通讯头长度 + 报文体长度,不够8位,左侧补0TCPClient classname:缺省的org.apache...原创 2019-04-19 23:44:00 · 738 阅读 · 0 评论 -
JMeter基础【第二篇】JMeter5介绍及脚本录制(web、app)
可以和lr一样每个步骤选择录制到步骤jmeter设置测试计划:被测项目线程组:测试场景取样器:被测接口添加HTTP代理服务器默认端口是8888目标控制器:指定录制的脚本要放到哪分组:不对样本分组:默认每个请求是一个事务在组间添加分隔:加一条分隔线每个组放入一个新的控制器:逻辑控制器中的简单控制器只存储每个组的第一个样本:但是html文件中的资源会自动下载,以及开...原创 2019-04-20 10:04:00 · 121 阅读 · 0 评论 -
badboy安装及使用
badboy下载下载地址:http://www.badboy.com.au/download/index直接点击【continue】badboy安装badboy录制默认是录制状态访问sogou搜索“uncleyong”badboy导出jxm文件使用badboy的“Export to JMeter”,生成jmx文件使用jmeter打开,可以看到有些杂乱的请...原创 2019-04-20 20:50:00 · 207 阅读 · 0 评论 -
LoadRunner【第五篇】关联
关联的定义及使用场景关联:将服务器提供动态变化的值存放在变量中,当需要使用该变量时,自动从服务器响应的信息中获取该值,并在后面使用的过程中进行替换。(也可能是前端页面动态生成的值)当客户端的某个请求参数是随着服务器端的响应而动态变化的时候,我们就需要用到关联。当然我们在录制脚本时应该对测试的项目进行适当的了解,知道哪些请求需要用到服务器响应的动态值,如果我们不明确那些值需要做关联的话,我们...原创 2019-04-20 20:16:00 · 405 阅读 · 0 评论 -
JMeter基础【第三篇】JMeter5.1元件作用域及执行顺序
jmeter执行顺序: 1.配置元件 2.前置处理器 3.定时器 4.取样器 5.后置处理器 6.断言 7.监听器同一层级的,是按照放的先后顺序执行的。执行顺序,大家可以实践验证,加深印象。最后,给大家说一个万能且保险的方法:放到对应的取样器下面即可。更多jmeter用法,参考:https://www.cnblogs.com/uncleyong/p/12343285.htm...原创 2019-04-27 10:05:00 · 56 阅读 · 0 评论 -
记录一次群答问:jmeter正则提取器轻松提取一个及多个值(关联)
图截得比较完整,电脑端浏览器放大倍数看吧^_^,手机端可以点击图片然后放大看。一个正则提取问题前几天,在Q群和微信群里被同时@,咨询这样一个问题:服务器返回:name="tom"value="jerry" ,要提取出name的值和value的值。其实,我觉得这个需求是不明确的,到底是name和value提取出来拼接为一个字符串呢?还是分别保存name和value的值?我在群里问这位提问...原创 2019-04-27 16:44:00 · 135 阅读 · 0 评论 -
玩转jmeter:beanshell必备技能
beanshell是什么BeanShell是一个小型嵌入式Java源代码解释器,能够动态地执行java代码。下载及运行下载地址:https://beanshell.github.io/download.htmljava -jar直接运行测试其它方式启动:先把jar包加入到环境变量界面UI方式 :java bsh.Console命令行方式 :java bsh.I...原创 2019-05-05 18:39:00 · 263 阅读 · 0 评论 -
JMeter基础【第六篇】JMeter5.1事务、检查点、集合点、思考时间、其余设置等
参考:https://www.cnblogs.com/uncleyong/p/12343285.html原创 2019-06-01 10:09:00 · 187 阅读 · 0 评论 -
JMeter【第五篇】关联:jmeter关联的5种方式
前几天在Q群里看到群友发的最近10年性能测试工具使用率的统计,最近的2018年,jmeter+loadrunner占了93%的使用率,说明这两个是主流,其中,jmeter的使用率逐年提升,现在已经超过了loadrunner,占了51%。除了做性能,jmeter也可以做自动化测试,比如jmeter + ant + jenkins的自动化测试框架(参考:https://www.cnblogs.co...原创 2019-05-25 19:11:00 · 258 阅读 · 0 评论