2024-09-14

学习目标

1.了解JMeter的服务器监控工具的安装与配置,学会使用JMeter插件进行都市商城所在服务器的CPU与内存等监控

2.了解Nginx的运行原理,知道反向代理,负载均衡的作用,以及知道如何对其进行配置

常见问题

1.JMeter自动拉伸

在JMeter的选项里,选择外观,选择最后一个WINDOWS CLASSIC.

2.跑都市商城的脚本时,一直有19%左右的错误.

进入到都市商城服务器的/usr/local/web/WebRoot/WEB-INF/classes,

vi config.properties,将最后一行的Jtest=1修改为Jtest=0.保存退出

安装Serveragent并使用JMeter插件进行监控

1.用FTP工具将serveragent传到都市商城服务器的任意目录

2.用unzip命令进行解压unzip ServerAgent-2.2.3.zip

3.如果你的服务器的LINUX中没有unzip命令,那么执行sudo yum install -y unzip zip下载相关命令

4.如果是LINUX环境,执行./startAgent.sh文件,如果是WINDOWS服务器,双击startAgent.bat

5.如果startAgent.sh不能执行,那么需要增加权限,在你的文件夹那一层执行chmod -R 777 ServerAgent-2.2.3

serveragent监听程序的端口号默认是4444.可以用netstat -tpln命令查看目前有哪些端口号在使用.

如果出现防火墙禁用了4444端口,可以选择关闭防火墙,或者将4444端口加入到防火墙规则中.

systemctl status firewalld  #查看防火墙状态

systemctl start firewalld  #启动防火墙

systemctl stop firewalld  #关闭防火墙

systemctl restart firewalld  #重启防火墙

systemctl disabled firewalld  #禁用防火墙

firewall-cmd --list-ports  #列出开放的端口

firewall-cmd --add-port=4444/tcp --permanent #永久添加4444端口

6.打开JMeter,新建线程组和http请求,然后新增一个jp@gc - PerfMon Metrics Collector监听器

在监听器里选择一个文件,用来存放监听的数据.

ADD ROW,添加需要监控的服务器IP地址,与需要监控的内容,如CPU,内存等

如果不想每次运行前提示你是追加还是覆盖,那么可以修改jmeter.properties文件,在1040行附近,

添加resultcollector.action_if_file_exists=APPEND

APPEND,每次运行将新的数据附加到现有文件

ASK每次运行时询问用户

DELETE每次运行时覆盖旧数据

nginx

nginx是一种高性能的http和反向代理服务器.特点是占用内存少,并发能力强.特性:负载均衡,反向代理等.

你的机器→代理→服务器 这个是正向代理

你的机器→服务器→tomcat1,tomcat2... 这个是反向代理

正向代理.局域网中的用户如果要访问外网,必须通过代理服务器来访问,则称之为正向代理.

反向代理是由nginx将多个访问请求按照策略分配给不同的服务器,以减少单个服务器的访问压力.对于用户来说,反向代理是透明的,用户不知道一共有多少个服务器,也不知道访问的是哪一个.他只需要知道他访问的网址能访问就可以了.

反向代理的步骤.

第一步(非必须),修改hosts文件,设置一个域名.

进入C:\Windows\System32\drivers\etc,打开hosts文件,输入你的都市商城的IP 后面写一个域名

第二步,在nginx.conf中修改配置

进入到/usr/local/nginx/conf

vi nginx.conf

用户通过域名访问(www.songqinshop.com),首先hosts分析了这个域名指向的是192.168.80.160,

然后就开始访问192.168.80.160,因为默认端口号是80,所以此时访问的是192.168.80.160:80.然后又因为nginx在监听80端口,所以当80端口被访问时,nginx开始将这个网址转向了http://dsshop;(大约在配置文件47行),然后这个路径又转向了upstream dsshop模块里所配置的地址,也就是127.0.0.1:8083.注意这个127.0.0.1指的是都市商城服务器本地机器,也就是192.168.80.160:8083

负载均衡

在反向代理的基础上,那么就可以实现负载均衡.单个服务器时,承受的负载为n,那么就可以通过增加服务器的数量,让nginx将访问请求分发到各个服务器,比如有m个服务器,每个服务器只要承受n/m的负载.

负载均衡的策略分为轮询,权重,ip_hash,fair,url_hash

轮询,比如有两个服务器,当遇到请求时,nginx会轮流分发到每一个服务器.

权重,给每个服务器设置一个权重,让性能高的服务器接受更多的请求,性能低的服务器接受较少的请求.

ip_hash,一台机器第一次访问的是哪一个服务器,后面就一直访问这个服务器.这种方式可以避免session混乱引起的问题.

fair,根据响应时间来分配服务器

url_hash,根据你请求的url地址来分配服务器

都市商城的负载均衡在nginx.conf文件的upstream dsshop块进行设置

upstream dsshop {            ip_hash;  #都市商城使用的是ip_hash策略            server 127.0.0.1:8083 weight=1;            server 127.0.0.1:8084 weight=1;            #server 192.168.10.121:3333 backup;  #热备          }

dsshop还需要在location块进行proxy_pass的设置

location / {                      proxy_pass  http://dsshop;

nginx一旦启动之后,访问都市商城时就不再需要输入8083端口号

nginx的一键启动脚本,在/data/startup,执行./a1-start-Nginx.sh

时间同步

在startup目录中查看日期 data

更新服务器时间 ntpdate ntp.aliyun.com

当前时间 data

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.性能测试 1.性能测试是什么 基于协议模拟用户发出请求,对服务器形成一定负载,来测试服务器的性能指标是否满足要...
    连猫都嫌弃我阅读 571评论 0 0
  • Day09_JMeter软件测试 1. 性能测试 1.1. 性能测试是什么 基于协议模拟用户发出请求,对服务器形成...
    迪子也重名阅读 706评论 0 0
  • 互联网压力性能Badboy.Jmeterhttp://itopic.org/jmeter-http-tcp.htm...
    燕京博士阅读 2,983评论 0 20
  • 1. 什么是脚本录制 在进行测试的时候,可能有好多脚本或者界面需要操作测试,并且有些测试链接需要重复多线程高并发进...
    睿智的少年阅读 442评论 0 0
  • 例行记录 终于下定决心落笔! 有很多兴趣爱好,目前从事it. 分类:写给隔壁老太太的技术记录、研究记录、例行记录和...
    keimong阅读 271评论 0 0