性能测试瓶颈分析与系统调优(5)prometheus监控体系搭建与jmeter分布式压测

四、prometheus监控体系

官网下载:https://prometheus.io/download/

4.1prometheus安装部署

proetheus是部署在独立的服务器上,可以跟grafana部署在同一台服务器上

这里将文件放在192.168.1.3服务器上

创建目录:mkdir proetheus,用MobaXterm工具将安装包放到这个目录里面

解压文件:tar -zxvf prometheus-2.41.0.linux-amd64.tar.gz

解压后的目录结果:

启动文件为:prometheus

配置文件为:prometheus.yml

前台启动./prometheus

后台启动:

nohup /prometheus/prometheus-2.41.0.linux-amd64/prometheus --config.file=

prometheus.yml >prometheus.log 2>&1&

其中:prometheus/prometheus-2.41.0.linux-amd64/prometheus 为你自己的prometheus解压后prometheus启动文件所在路径

prometheus.log:我自己命名的日志文件名称

查看日志文件tail - f prometheus.log

发现这个:msg="Server is ready to receive web requests.",表示后台启动成功

访问方式:默认端口:9090

iptables -I INPUT -p tcp --dport 9090 -j ACCEPT #启动9090端口

firewall-cmd --add-port=9090/tcp --permanent #配置防火墙

firewall-cmd --reload #更新防火墙规则

在浏览器中输入装prometheus的服务器地址加9090端口

表示安装成功

4.2被监控服务器装proetheus的exporter

这里监控java应用服务器:192.168.1.5,创建对应的目录,解压

前台启动:./node_exporter

后台运行:nohup ./node_exporter >node_exporer.log 2>&1 &

查看日志:tail -f node_exporer.log

输出:msg="Listening on"表示成功

为例避免因为防火墙和端口,这里对配置9100端口进行配置

iptables -I INPUT -p tcp --dport 9100 -j ACCEPT #启动9100端口

firewall-cmd --add-port=9100/tcp --permanent #配置防火墙

firewall-cmd --reload #更新防火墙规则

4.3prometheus配置文件配置

增加内容:

#以下为新增内容,有多个服务器,配置多个

-job_name="192.168.1.5_liunx服务器"

static_configs:

- targets: ["192.168.1.5:9100"]

配置完毕,重启

找到进程,杀死,然后重启

ps -ef |grep prometheus

kill -9 进程ID

4.4 grafana配置

新增数据源,选择prometheus,这个比较简单,输入ip加端口号,保存

然后导入liunx的json监控,最后得到

修改配置文件,启动报错问题

出现这个错误,一定是.yml文件配置出错了,一定要注意缩进,敲不好,就这个文件复制一份到windows上,修改在传过来

4.5 jmeter分布式压测

4.5.1整体架构

4.5.2jmeter执行机 配置

执行机和控制机的统一配置

运行相同版本的jmeter

所有系统上都是用相同版本的java

Jmeter的bin目录下:jmeter.properties文件配置下修改:server.rmi.ssl.disable=flase 改为:

server.rmi.ssl.disable=true

jmeter.properties配置修改(如非必要,不建议调整)

server_port=-1099 RMI注册中心端口,控制通过这个端口才知道怎么发指令给执行机

默认为1099,这个也是控制机需要

server.rmi.port=12347 建议server_port,配置同一个端口

server.rmi.localport=123456 默认没有这个配置,则jmeter会动态占用一个端口,这样你就不方便去配置,所所以使用过程中尽量配置固定段偶,建议也是1099

执行机的启动:windows下,启动 jmeter-server.bat

其它系统jmeter-server

多网卡注意:需要指定一个ip地址:

-Djava.rmi.server.honstname=192.168.1.3(网卡对应的ip地址)

多网卡下,jmeter-server启动后绑定的网卡ip可能是控制机不能访问的,所以需要指定ip

/apacher-jmeter-5.5/bin/jmeter-server -Djava.rmi.server.honstname=192.168.1.3

可能出现的报错:端口被占用:Address already in use:JVM_bind

Problem creating registry:java.rmi.server.ExportException:Por already in use:1099;nested exception is:java.net.BindException:Address already in use:JVM_Bind

解决办法,修改上面的端口为其它数字,例如:123456,12333

注意:尽量不要在一个电脑上运行多个jmeter

不能运行jmeter-server:jmeter-server:Permission denied ,这是因为你解压的jmeter,Liunx不认识这个jmeter-server,需要赋予它执行的权限

chmod +x /apacher-jmeter-5.5/bin/jmeter-server,通过该命令服务jmeter执行权限

4.5.3jmeter控制机配置

控制机就相当于集群压测的大脑,它发送指令给代理机执行脚本任务,代理吧测试结果回传给控制及

jmeter.properties中添加远程执行机的信息

修改remote_hosts的值,添加多个 执行机服务器,以逗号分隔,例如:

Client.rmi.localport=12347这个端口时client控制机用来接收server执行结果反馈的,默认没有这个配置,jmeter会动态占用一个端口,这样不方便去配置,所以使用过程尽量配置固定端口。

启动jmeter界面程序进行检查

通过CLI命令模式集群压测:

如果配置文件中已指定远程执行机,可以通过-r让所有机器执行压测

Jmeter -n -t 脚本.jmx -r

动态指定机器压测(建议这种)jmeter -n -t 脚本.jtl -R IP:端口

注意事项:1.测试依赖的数据文件控制机不发送的 ,请确保这些文件在每个jmeter-server执行机上已存在这些文件

2.为例避免不必要的麻烦,建议关闭防火墙

3.每太机器都会执行脚本,所以,实际运行的线程数=jmeter指定线程数量*执行机器数量

4.6性能测试思路梳理

4.61性能概念

性能测试针对系统的性能指标,建立性能测试模型,制定性能测试方案,制定监控策略,在场景条件之下执行性能场景,分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值

4.6.2性能需求场景

新系统:测试系统的最大容量,主要目的是上线前的容量规划,采购系统验收场景

新功能:测试出系统的最大容量,主要目的是上线前的容量规划,性能相比较以往不下降

性能优化:测试出最大容量,调优到最后

线程数量的预估:

比如1万个用户,有1%的人,在同一秒间使用它,并发用户100/s,大概需要做多少个并发?为什么是5,通过基准测试,1个线程 ,1次请求,得到响应时间50ms,1000MS/50ms=20,1/s能发起 20此请求,需要的线程数:5,针对服务器这里说的是相对并,如果有明确的性能要求,绝对并发为100,则线程数量设为100

明确性能目标的情况

吞吐量/响应时间/并发量三者管理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当代键仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值