背景:公司为了满足大并发的情况,需要测试组配合,就需要分布式压测,这里我把我踩过坑都记录下来: 环境:Linux + jmeter-v.5.1.1;使用3台2核4G的压力机: Q1: Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is: java.io.FileNotFoundException: rmi_keystore.jks A1:解决思…
Jmeter 在linux下的分布式压测 0.将 windows机器作为master 控制机(同时也兼做负载机slave), linux机器作为 负载机 slave. 1.linux环境安装 : (1).在linux(centos)下需要安装JDK (1.8) 和 JMETER (5.0) jdk文件为:jdk-8u131-linux-i586.tar.gz jmeter 文件为(跟windows下的是同样的文件,本身是java编写,跨平台):apache-jmeter-5.0.zip(2).在…
之前一篇博文写的是如何在Linux上使用jmeter压测,这篇介绍下Linux上jmeter的分布式压测. 和windows上的分布式类似,需要配置agent节点和控制机 一.Agent节点配置 1. 首先安装好jdk和jmeter环境,具体见我的上一篇文章.然后打开配置文件 /bin/jmeter.properties 找到并取消这段配置的注释 server.rmi.ssl.disable=false ,false改成true. # Password of Trust store #serve…
之前的博客:jemter(二十三):分布式测试简略的介绍了利用jmeter做分布式测试的方法,当时只是介绍了背景和原因,以及基本的配置操作,有同学说写得不够详细. 正好今年双十一,我司的全链路压测,也尝试了jmeter分布式压测的手段.这篇博客,介绍下利用jmeter在NGUI模式下进行分布式压测的一些小技巧和注意事项. 一.压测机 1.数量&成本 无论是从成本角度还是维护的难易方面,压测机的数量,适量就好. 举个例子,8C16G的一台服务器,部署jmeter后,根据我个人的测试比对数据,配置≤…
1)Jmeter4.0介绍 jmeter是个纯java编写的开源压测工具,apache旗下的开源软件,一开始是设计为web测试的软件,由于发展迅猛,现在可以压测许多协议比如:http.https.soap.ftp.database数据库.LDAP  轻量目录访问协议.TCP.SOMP(简单邮件协议)等,由于是纯java编写,可以在苹果.window或者Linux下运行,全功能的测试IDE,允许快速的建立测试计划(从浏览器或本地应用程序,官网地址:http://jmeter.apache.org)…
1.前言 熟练使用jmeter进行性能测试的工程师都知道,jmeter的客户端性能是有点差的.这会导致一个问题,其客户端的性能损耗会干扰到性能测试的结果,而且当线程数/并发大到一定程度时,客户端性能会急速下降,导致整个性能测试过程不可控. 比如说我自己这台啵罗啵罗的工作电脑,启动500线程,基本就卡死了. 因此在进行大压力性能测试时,通常的解决方案是使用分布式无界面测试的办法,将一台客户机的压力分布到数台执行机上,避免jmeter客户端的性能损耗. 下面就来详细阐述一下完成分布式压测的过程. 2…
哈喽,我又来了~ 前提:三台linux虚拟机,一台作为master,另外两台作为slave. 一.server端 1.修改1099端口,client和server通信的端口,可以不修改,默认就是1099 2.启动jmeter-server (这里启动的时候可以看到ip后面的端口不是1099,这里不用管,1099是client和server的通信端口,和这个没有关系) 二.client端:配置master和slave 1.进入到jmeter的bin目录下,打开jmeter.properties c…
项目中使用Jmeter进行大并发压测时,单机受限内存.CPU.网络IO,会出现服务器压力还没有上 去,但压测服务器由于模拟的压力太大死机的情况.JMeter的集群模式可以让我们将多台机器联合起来 一起产生负载,从而弥补单台机器负载生成能力不足的问题. 分布式压测原理 1.控制机为Master,负载机为Slave 2.Master启动后,会拷贝jmx脚本文件到所有的Slave上 3.Slave会回传压测数据给Master,最后由Master汇总出结果文件 注意事项 1.脚本文件上传到master即…
需求描述: 今天一个同事发过来一个压缩文件,让传送到linux服务器上,传上去之后,发现是rar格式的 之前没有解压过,就找了一些解压方法,在此记录下. 操作过程: 1.下载rar在linux环境下的安装包 下载地址:https://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz 2.将rar安装包上传到服务器上 [root@testvm software]# ls -l rar* -rw-r--r-- 1 root root 536028 Jun 4…
在使用jmeter压测过程中,可能会度遇到内存溢出的错误,这是为什么呢?因为jmeter是java写的应用,java应用jvm堆内存heap受负载机硬件限制,虽然我们可以调整堆内存大小,但是单机无法支撑数以万计大并发,此时,需要多个负载机进行分压测试,这样性能瓶颈就不会是我们的负载机了. 分布式的原理 jmeter分布式压测时,选择其中一台作为控制机,其余的机器做为负载机,执行时,控制机会把脚本发送到每个负载机上,负载机获取到脚本就执行脚本(负载机只需要启动jmeter-server.bat或者…
很多性能大牛说一台机器的压测其实不准确,于是搜索网上的分布式压测练习了一番 目录 1.环境准备 2.控制机和压测机配置 3.执行分布式压测 1.环境准备 1.1准备一台windows作为控制机(master)(ip:XX.XX.XX.130),2台linux作为负载机(slave)(ip:XX.XX.XX.128)(ip:XX.XX.XX.129) 1.2三台机器都配置同样版本的java和jmeter linux环境变量添加: export JAVA_HOME=/opt/jdk1.8.0_161…
一.常用压力测试工具对比 简介:目前用的常用测试工具对比 1.loadrunner 性能稳定,压测结果及颗粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多. 2.Apache ab(单接口压测最方便) 模拟多线程并发请求,ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会目标服务器造成巨大的负载,类似于简单的DDOS攻击等. 3.webbench webbench首先fork出多个子进程,每个子进程都循环做web访问测试.子进程把访问的结果通过pi…
jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对jmeter进行分布式测试: 1:先说说分布式测试原理 处理过程: 一:调度机master启动以后,会拷贝本地的jmx文件分发到远程的slave机器上: 二:slave机器拿到脚本以后启动命令行模式去执行脚本,对于每台slave机器拿到的脚本都是一样的,所以如果jmx脚本为50个线程跑3分钟,那么实际并发就是50*3=1…
1.简介 千呼万唤始出来,这一篇感觉写了好久,总想写的清楚明白简洁,但是还是洋洋洒洒写了好多,希望大家喜欢吧!本来打算将这一篇文章是放在性能测试中讲解和分享的,但是有的童鞋或者小伙伴们私下问的太多了,实在是忍不了也解答烦了,索性就在这里分享一下吧.权当参考,但是希望对大家有所帮助. 2.为什么要使用分布式测试 (1)Jmeter是基于java程序运行的,在windows上使用Jmeter进行性能测试时,非常耗费客户机的CPU和内存,如果并发数稍微大一点(比如100.1000...并发),单台电脑…
mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. 使用传统源码安装步骤: 步骤1:http://mosquitto.org/files/source/官网下载源码,放到Linux环境中.解压后,找到主要配置文件config.mk,其中包含mosquitto的安装选项,需要注意的是,默认情况下mosquitto的安装需要OpenSSL(一个强大的安全…
stop.sh需要跑Jmeter的服务器上安装Jmeteryum install lrzsz 安装rz.sz命令rz jemter的压缩包 拷贝到/usr/local/tools下面unzip apache-jmeter-3.0.zip 解压 权限修改chmod 777 * 修改权限 时间修改ntpdate s2m.time.edu.cn 同步到服务器或者 ntpdate time.nist.gov时间不一致生成报表会有问题本机Window是的时间修改(与时间服务器同步):  w32tm /re…
一.引言             写有关NoSQL数据库有关的文章已经有一段时间了,可以高兴的说,Redis暂时就算写完了,从安装到数据类型,在到集群,几乎都写到了.如果以后有了心得,再补充吧.然后就是MongoDB了,有关MongoDB的文章也写了一些了,安装.配置和基本使用都写了,然后就是一些高级的课题了.最近由于工作比较忙的原因,写东西就慢了,MongoDB的文章也暂缓了.今天正好有时间,我就把在Linux环境下安装和配置Memcached的过程写下来.其实这个文章不是今天写的了,写了有几…
概念 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素. 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决. 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案.Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费.…
========================================================================================================== 写在前面: 因为工作需要,Windows下的自动化测试已经不能满足需求,需要在Linux环境下运行. 主要原因是:因为上班时候,使用Jmeter Windows平台时,会占用大量的网络资源,其他同事上网都会受到影响(也不知道其他公司是这样的情况吗,主要是网慢) 然后,第二个原因是,Wi…
此文档主要介绍在linux环境下安装redis并且搭建自己的redis集群 搭建环境: ubuntun 16.04 + redis-3.0.6 本文章分为三个部分:redis安装.搭建redis集群 一.本机安装redis: 1.下载redis: wget http://download.redis.io/releases/redis-3.0.6.tar.gz 2.redis安装解压.编译与安装:安装路径在root用户下的:~/softwares文件下 解压:先将安装包放到~/softwares…
环境说明:安装与控制机相同版本的jdk与jmeter 1.修改控制机中的jmeter.properties文件 将<remote_hosts=127.0.0.1>改为<remote_hosts=172.16.250.193>,其中172.16.250.193为负载机的IP,不设置端口为默认端口1099.每个Agent机之间用英文半角逗号隔开,修改保存. 2.进入jmeter的bin目录中启动jmeter.命令<./jmeter-server>.但是报错,如下图. 解决办…
记录一下Linux环境下安装Redis,按顺序执行即可,这里下载的是Redis5,大家可根据自己的需求,修改版本号就好了,亲测可行. 1.下载Redis安装包cd /usr/local/wget http://download.redis.io/releases/redis-5.0.0.tar.gz 2.解压Redis安装包tar -zxvf redis-5.0.0.tar.gz 3.安装yum install gcc    //安装gcc编译环境 cd redis-5.0.0makecd sr…
记录一下Linux环境下安装MySQL,大家按顺序执行即可,5分钟内即可完成安装,亲测可行.不过下载MySQL安装包需要大家花费一些功夫,送个链接给大家,大家按需下载: https://dev.mysql.com/downloads/mysql/5.7.html#downloads,当然也可以直接找我要. 1.下载相应MySQL安装包,上传到服务器并解压,这里使用mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz. tar -xzvf mysql-5.7.26-…
一.Jmeter4.0分布式压测准备工作 压测注意事项            the firewalls on the systems are turned off or correct ports are opened.            系统上的防火墙被关闭或正确的端口被打开. all the clients are on the same subnet.            所有的客户端都在同一个子网上. the server is in the same subnet, if 19…
JMeter自身带有Master-Slave压测框架,对于并发量不是很高的压力情况下(比如tps低于5000),该方案是可行的,并且使用起来非常方便,只要在配置文件或者命令行工具的参数做一些补充,即可以实现分布式压测,具体请参见JMeter官网操作步骤或者UncleYong的文章 但JMeter的Master-Slave有诸多的缺陷: 1.Master机器的瓶颈,JMeter通过RMI的方式来实现Master-Slave的通信,所有的信息最终都会汇总到主机上,一旦slave机器数量增多,并且sl…
王诚强,荔枝微课基础架构负责人.热衷于基础技术研发推广,致力于提供稳定高效的基础架构,推进了荔枝微课集群化从0到1的发展,云原生架构持续演进的实践者. 本文根据2021年4月10日深圳站举办的[腾讯云原生技术开发日] 线下活动中,[荔枝微课]基础架构负责人"王诚强"关于"基于kubernetes搭建分布式压测系统"的演讲整理而成. 关注[腾讯云原生]公众号后台回复[lzwk],可获得该演讲PPT. 大家好,今天想和大家分享的主题是基于kubernetes搭建分布式压…
前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version"命令是否有正确的内容打印,也许这并不具备太大的说服力.可能能够运行起一个正确的java程序来,不管从感性角度还是理性角度来说,都会有一个更好的认识. 所以本文写一段很简单的java代码,并且在Linux环境下编译运行,以证明JDK部署得确实没有问题. 代码验证JDK部署是否正确 1.级联建立两个目录 首…
导读 Pentbox是一个包含了许多可以使渗透测试工作变得简单流程化的工具的安全套件.它是用Ruby编写并且面向GNU/Linux,同时也支持Windows.MacOS和其它任何安装有Ruby的系统.在这篇短文中我们将讲解如何在Kali Linux环境下设置蜜罐. 如果你还不知道什么是蜜罐(Honeypot),蜜罐是一种计算机安全机制,其设置用来发现.转移.或者以某种方式,抵消对信息系统的非授权尝试. 下载Pentbox: 在你的终端中简单的键入下面的命令来下载 pentbox-1.8. roo…
Linux环境下Python的安装过程 前言 一般情况下,Linux都会预装 Python了,但是这个预装的Python版本一般都非常低,很多 Python的新特性都没有,必须重新安装新一点的版本,从下边的截图,可以看到我的 linux下,预装Python 的版本非常低,古老的 2.4.3版本.这里我准备安装现阶段稍微主流点的版本 2.7.3. 下载 官网下载地址:http://www.python.org/download/ 安装 解压 后边需要做的事情需要你具有 super user或者ad…
<ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入Disk1.然后执行安装: $ ./runInstaller 执行脚本 # /u01/app/oracle//db_1/root.sh Running Oracle 10g root.sh script... The following environment variables are set as: ORA…