资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

linux中的测压命令 linux压测工具bench

jmeter 分布式压测配置Linux

本文只讲jmeter分布式压测怎么在Linux环境下配置:

创新互联主要从事网站建设、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务武江,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

使用分布式压测,是因为单个压测机并发到不到系统要求,所以多个压测机同时去压。

一般是由一个主机(master)和几台压力机(slave)组成。

主机 主要是起到启动和收集结果功能(当然也可以参与压测但不建议),测试脚本jmx在这台机器下,执行的时候会发送给每台压力机。

压力机 主要接受主机发送的压测脚本,同时进行压测,并把结果回传给主机。

以下是本人的压测环境,可以参考的去配置:

都是在Linux环境下(有些是主机Windows,压力机Linux,都是这样配置)

master主机:10.244.162.8

slave压测机(三台):10.244.162.9,10.244.162.10,10.244.162.11

主机ping一下压测机,是否可以ping通,否则关闭防火墙或者多个网卡(一台机器可能配置多个网卡多个IP,尤其是Windows当做主机)。

jdk,jmeter安装在主机和压力机下,尽量版本统一,jmeter在这几个机器服务都可以启动jmeter -v,如果权限不够到bin/目录下,命令: chmod 777 jmeter jmeter-server jmeter.sh 。(安装比较简单,这里就不多赘述)

保存。

在apache-jmeter-5.1.1/bin下执行./jmeter-server(代表jmeter启动,监听状态,等待主机发送测试脚本和执行命令) ,

有些启动命令:./jmeter-server -Djava.rmi.server.hostname=10.244.162.10(当前机器的ip),我觉得都行,没编辑配置文件那一项这样启动。

启动就设置完成。

如果是Windows当主机,重启一下jmeter在运行-远程启动既可以看到压测机。

如果是Linux下主机,需要用到命令:

我是在测试jmx脚本的目录下执行,这样方便收集信息。

sh (jmeter启动)  -n -t (jmx脚本) -R  (压力机ip,多个中间用英文逗号隔开) -l (test.jtl)  -e -o  (压测报告结果html文件夹)

sh /app/apache-jmeter-5.2.1/bin/jmeter.sh -n -t test.jmx -R 10.244.162.9,10.244.162.10 -l test.jtl  -e -o  test

注意:主机只传jmx给压力机,如果压测脚本有引用变量文件,比如csv,txt文件等是不传的,压力机也要有这些变量文件,复制过去存放的目录和上面压力机./jmeter-server启动的目录一致(就是你在哪个目录启动的就放在哪个目录下),否则压力机找不到变量文件,执行会报错或者直接结束无测试结果。

如何在linux操作系统上做接口压力测试

介绍个http_load压力测试工具,http_load,类似的工具还有webbench、ab、Siege。

1、下载

官方网站:

复制代码

代码如下:

cd /root

wget

tar xzf http_load-12mar2006.tar.gz

2、安装

复制代码

代码如下:

cd http_load-12mar2006

make

执行完make,会在当前目录生成一个http_load二进制文件。

3、使用方法

复制代码

代码如下:

root@www:~/http_load-12mar2006# ./http_load --help

usage: ./http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]

-parallel N | -rate N [-jitter]

-fetches N | -seconds N

url_file

One start specifier, either -parallel or -rate, is required.

One end specifier, either -fetches or -seconds, is required.

主要参数说明:

-parallel 简写-p :含义是并发的用户进程数。

-rate 简写-r :含义是每秒的访问频率

-fetches 简写-f :含义是总计的访问次数

-seconds简写-s :含义是总计的访问时间

选择参数时,-parallel和-rate选其中一个,-fetches和-seconds选其中一个。

示例:

http_load -parallel 50 -s 10 urls.txt

这段命令行是同时使用50个进程,随机访问urls.txt中的网址列表,总共访问10秒。

http_load -rate 50 -f 5000 urls.txt

每秒请求50次,总共请求5000次停止。

4、基本的返回值

(1).49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds

说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒

(2).5916 mean bytes/connection

说明每一连接平均传输的数据量289884/49=5916

(3).4.89274 fetches/sec, 28945.5 bytes/sec

说明每秒的响应请求为4.89274,每秒传递的数据为28945.5 bytes/sec

(4).msecs/connect: 28.8932 mean, 44.243 max, 24.488 min

说明每连接的平均响应时间是28.8932 msecs,最大的响应时间44.243 msecs,最小的响应时间24.488 msecs

(5).msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min

(6).HTTP response codes: code 200 -- 49

说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。

特殊说明:这里,我们一般会关注到的指标是fetches/sec、msecs/connect

他们分别对应的常用性能指标参数Qpt-每秒响应用户数和response time,每连接响应用户时间。测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论

5、如果你需要测试https,你必须将 Makefile中

复制代码

代码如下:

# CONFIGURE: If you want to compile in support for https, uncomment these

# definitions. You will need to have already built OpenSSL, available at

# a href="";/a Make sure the SSL_TREE definition points to the

# tree with your OpenSSL installation - depending on how you installed it,

# it may be in /usr/local instead of /usr/local/ssl.

SSL_TREE = /usr

SSL_DEFS = -DUSE_SSL

SSL_INC = -I$(SSL_TREE)/include

SSL_LIBS = -L$(SSL_TREE)/lib -lssl -lcrypto

由于使用到openssl,你必须安装openssl和相应的开发环境

复制代码

代码如下:

apt-get install openssl

apt-get install libssl-dev/p pfind -name ssl.h

/usr/include/openssl/ssl.h

测试中最基本的linux命令,学会离大佬就不远了

学习软件测试,最基本的linux命令必须掌握,现为大家整理如下:

一:系统管理相关命令

ls:可以看到整个目录

1.su:在不退出登陆的情况下,切换到另一个用户的身份

如:su root

切换到root这个用户,将提示输入密码,输完密码后即可登陆

# 超级用户提示符

$ 普通用户提示符

whoami:确认自己身份

history:查看运行命令的 历史

ifconfig:显示或设置网络设备的命令,我们可以用这个命令查看自己虚拟机的IP地址

ping:ping是Windows.Unix,Linux系统下的一个命令.ping命令也属于一个通信协议,是TCP/I协议的一部分。利用“ping"命令可以检查网络是否联通

停下来是:Ctrl+C(4)

kill:杀死进程(kill-9 进程号 强制杀死进程)

目录操作命令

linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录”/“,下层是各种各样的子目录和文件。

/:unix 文件系统的上层根目录

root:存放root用户的相关文件

home:存放普通用户的相关文件

bin:存放常用命令的目录,如vi,su,普通用户就可以提取的命令

sbin:要具有”一定权限才可以使用命令“

etc:存放配置的相关文件

vir:存放经常变化的文件。如:网络连接的sock文件

boot:启动目录,存放引导系统启动的相关文件

usr:安装一个软件的默认目录,相当于Windows下的program files

dev:设备文件保存目录

lb :系统库保存文件

pwd命令:显示当前路径

cd命令:切换目录

用法:cd目录路径

cd./切换到上级目录

cd/切换到根目录

cd~(或只有cd) 切换到用户主目录(home底下以用户名命名的文件夹)

/root目录

cd /opt ---cd bin 与cd /opt---cd /bin的区别

mkdir创建目录

mkdir 目录名

rmdir删除空目录

用法:rmdir 目录名

也可用:rm-rf 目录名

touch a.txt创建一个a.txt文件

二:文件操作命令

在Linux系统中,几乎所有内容包括文档,命令,设备和目录等都组织成文件的形式,用文件来管理,常用文件命令有:

|| 查看文件目录,以及它们对应的属性信息

cp 复制命令

用法:cp[选项] 文件名或目录 目标地址

-R 拷贝目录及目录下所有目录和文件

cp a.txt b.txt 将a文件复制,且另命名为b文件(目录名)

mv 移动命令

用法:mv文件名或目录 目标位置

mv a.txt../ 将a文件移动到上级目录(将一个文件移动到另一个目录没有重命名)

mv a.txt ../b.txt 将a文件移动到上一级并改名为b文件(将一个文件移动到另一个目录并重命名)

移动目录的时候,如果出现覆盖的情况,且被覆盖的目录非空,需要加一个'-b'的参数才能移动成功。被覆盖的目录此时会生产一个备份。

rm 删除文件或目录(i:操作时进行询问)

-f 强制删除

-r 删除目录

常用:rm -f文件或目录

find命令 查找文件

用法:find[路径][选项]

常用选项有:

find . -name a.txt 在当前目录查找文件a.txt

find / -name a.txt 从当前目录查找a.txt文件

grep命令

功能:在指定文件中查找字符(串)并打印该行;过滤,经常跟管道符号一起出现

用法:grep 字符串 文件名

grep xyz file 在file文件中寻找band字符串所在的那一行

文件编辑命令

vi:是linux下常用的文本编辑器

调用方法:vi a.txt(如果a.txt不存在,则创建,保存退出则创建成功)

按键盘i进入编辑状态(注意:都是英文输入法下进行输入)

退出编辑按ESC键,退出方法

不保存退出: :q!

保存退出: :wq

输入/,进入搜索,输入你需要搜索的文字,按Enter

按键盘G,可以直接定位到最末行

按键盘g,可以直接定位到首

cat命令:显示文本文件内容

用法: cat文件名 cat 文件名字

head:查看前几行 用法:head -n 5 文件名

tail:从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件

tail -n 5文件名 查看后几行

tail -f error.log 不断刷新,看到最新内容

系统资源查询命令

ps 查看进程(动态)

-ef 显示所有运行进程,并显示启动进程的命令

Uid:用户ID,PID;进程id PPID:父进程,C:进程cpu占用率,Stime:进程从启动到现在所运行的时间

TTY:终端号。CMD:命令名称和参数

netstat 查看网络状况

netstat -apn 查看所有端口

管道命令

管道使用”|“符号,并且在命令之间建立管道,将前面命令的输出作为后面命令的输入

如:ls|greap abc:管卡道前面的命令显示当前目录下的文件,后面从列出的文件名中寻找含有abc字符串的文件或者目录

正常情况下,杀死服务进程(比如杀死tomcat进程)

通过进程名找到进程,在杀死进程

通过命令查找tomcat进程:ps -ef|grep tomcat(ps -ef是查找所有运行的进程,通过管道符找到所有进程中包含了”tomcat"字符串的进程,即为tomcat进程),假如5541

杀掉此进程,kill -9进程id(kill -9 5541)

通过端口来找到进程,再杀死进程

通过命令查找到占用此端口的进程编号:netstat -apn|grep 8080 根据8080查进程,假如 5541

杀掉进程:kill -9 pid(kill -9 5541)

三:权限赋予命令:chmod

linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在linux中可以使用||或ls -|命令来显示一个文件的属性以及文件所属的用户和组。

chmod语法:chmod[-R] xyz文件或目录

读(r): 4 写(w): 2 执行(x): 1

chmod 532 test.txt

压缩,解压命令

例如:将test文件压缩成test.tar.gz

安装软件命令

yum 自动下载安装(前提:能访问外网)

yum[操作][package]

例如:yum install mysql-server(安装mysql服务器)

rpm 安装

rpm -ivh 软件包名(ivh 安装显示安装进度)


当前题目:linux中的测压命令 linux压测工具bench
路径分享:http://www.cdkjz.cn/article/dohgisj.html
十二年 建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220