性能分析-nginx

tomcat

像kyj项目请求直接对接 tomcat,tomcat的连接池就会直接影响“并发用户数”

如果这种情况下做性能测试的时候,并发用户数不能满足要求,可以适当加大线程池的配置。

如:项目性能测试发现项目所在机器,资源利用率不高,系统的整体负载不高。-------服务器的资源没有得到足够利用。

适当调大线程池的大小,也要去调整堆栈大小,两个一起搭配,才可能让整个tomcat的性能提升。

nginx

目前企业项目做集群的首选软件,但是不是唯一的软件。

反向代理服务器  vs 代理服务器

代理服务器:自己机器的ip,通过一个代理服务器的ip,转发请求包,到另外一个网络中,代理服务 器,会记录从我们机器上发出的所有请求包信息。

反向代理:网络中一个数据包进来,经过反向代理服务器,分发到内部机器上。

数据分发到内部机器是有策略。策略要说:负载均衡

负载均衡不等于平均分配

安装nginx

  • 方法1:用源码包安装------这种方法安装的nginx是可以安装扩展功能,扩展功能主要是可以添加监控
yum install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel -y

# 安装pcre
tar -xzvf pcre-8.44.tar.gz

进入解压后的文件夹
./configure && make && make install

# 下载nginx的包
wget http://nginx.org/download/nginx-1.19.5.tar.gz

解压,进入解压后的文件夹
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --withhttp_ssl_module

make && make install
此时,nginx安装的路径 /usr/local/nginx
启动文件: /usr/local/nginx/sbin/nginx
配置文件: /usr/local/nginx/conf/nginx.conf
检查命令: /usr/local/nginx/sbin/nginx -t
重新加载配置命令:/usr/local/nginx/sbin/nginx -s reload
停止nginx: /usr/local/nginx/sbin/nginx -s stop
  • 方法2:编译包安装------这种方法安装很简单,但是不能安装扩展功能
  • 方法3:dcoker方式安装

这三种方式,配置文件的路径可能都不相同。但是要记住第1种安装方式的配置文件路径。

这个配置文件,就是用于配置nginx集群和反向代理策略的文件。

集群

集群:是相同服务能力输出的服务集合在一起,提供更强能力输出。

相同的服务数量应该在2个以上

nginx配置

nginx+tomcat负载均衡

记录tomcat机器的ip和端口(如果在同一台服务器上记得修改tomcat服务的ip和端口,不然无法启动tomcat服务)

策略:静态策略和动态策略

静态策略:如轮询

动态策略:如iphash

静态策略和动态策略,没有说那种就好或坏,根据业务的实际情况,哪种最合理,相对而言这种就是最 好的。

如果有一个集群,现在要你对这个集群做性能测试,怎么做?

如:kyj的项目,配置了nginx就可以通过ip直接访问项目, kyj的集群是由2个服务构成 如果你自己使用 ip不带端口,这个时候测试的性能,就是2个kyj项目的整体集群的性能。如果我只想测某一个,我可以调整集群的策略

nginx实战

nginx的监控  可以参考这里

nginx的安装必须是源码包安装方式,不能使用rmp包安装方式

安装nginx-module-vts

下载: git clone https://gitee.com/mirrors/nginx-module-vts.git
下载是放在 /opt路径下
进入nginx的解压文件夹
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --withhttp_ssl_module --add-module=/opt/nginx-module-vts/


make && make install

安装 nginx-vts-exporter   默认端口是 9913

wget https://github.com/hnlq715/nginx-vtsexporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz

解压
进入解压后的文件夹
nohup ./nginx-vts-exporter -nginx.scrape_uri=http://localhost/status/format/json
&

此时把项目和nginx都启动了,但是访问http://ip:9913,可以正常访问页面,但是页面没有数据。

因为nginx.conf 的配置文件没有修改

http{

vhost_traffic_status_zone;
vhost_traffic_status_filter_by_host on;


server{

location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;

}

}

}

我们搭建监控平台,是把grafana+Prometheus放在同一台机器上,这两个都不要放到被测服务器上

Prometheus数据库,与xxx_exporter所在的机器,网络一定要通。 在Prometheus的机器上,执行

telnet xxexporterIp port

引入模板id:2949

数据基本相同就说明负载均衡一般没有问题。

nginx一般不会成为性能瓶颈,但也不是说,就不会有性能问题。

如果在做性能测试时发现多个接口在某一并发用户数的时候会出错(一小部分)。-----比较明显告诉你

应该是入口地方有性能问题,这个入口很多时候就是nginx。 这种问题大概率就是nginx配置的连 接数不够。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/525718.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

产品推荐 | 瑞苏盈科基于立体帧捕捉和视频处理应用的火星Mars EB1开发板

01 产品概述 火星Mars EB1底板是为火星Mars系列FPGA和SoC核心板设计的通用底板,非常适用于立体帧捕捉和视频处理应用,可以为构建基于FPGA的定制化硬件系统提供一个良好的基础和开端。 02 核心亮点 ■ 与所有火星Mars系列FPGA和SoC核心板兼容 ■ 适用…

Stable Diffusion文生图技术详解:从零基础到掌握CLIP模型、Unet训练和采样器迭代

文章目录 概要Stable Diffusion 底层结构与原理文本编码器(Text Encoder)图片生成器(Image Generator) 那扩散过程发生了什么?stable diffusion 总体架构主要模块分析Unet 网络采样器迭代CLIP 模型 小结 概要 Stable …

windows一键休眠,一键唤醒

1.使windows睡眠不可用,cmd以管理员身份运行: powercfg.exe /hibernate off 2.桌面创建快捷键 Rundll32.exe Powrprof.dll,SetSuspendState Sleep

王权与自由国际服测试资格申请 王权与自由steam国际服预约教程

《王权与自由》是一款由《剑灵》开发商NCsoft公开的旗下大型多人MMORPG新作游戏作品。攻城战,这是游戏中的一个重要玩法,主要分为攻城方和防守方。攻城方需要占领外城的遗址,并利用高轮(包括碎石机、跳跃者和战斗航母)…

蓝桥杯第六届c++大学B组详解

前言: 看了很多博客以及视频讲解,感觉都不是很清楚,比较模棱两可,所以干脆自己一边想,一边写博客,也可帮助到其他人,都是根据自己的逻辑来尽量清楚简单的讲清楚题目,喜欢的不要吝啬三…

【JVM】GC导致的性能问题排查与解决方案,日志、堆分析工具介绍

一、必要性 重要应用程序在使用过程中,忽然无法响应用户请求,排查发现网络联通无问题,gateway能够正常接收分发请求,应用进程正常,正常向注册中心发送请求,但是接收http请求全部返回报错。 添加gc后发现内…

前端秘法番外篇----学完Web API,前端才能算真正的入门

目录 一.引言 二.元素的获取和事件 1.获取元素 2.各种事件 2.1点击事件 2.2键盘事件 三.获取&修改操作 1.获取修改元素属性 2.修改表单属性 2.1暂停播放键的转换 2.2计数器的实现 2.3全选的实现 3.样式操作 3.1行内样式操作 3.2类名样式操作 四.节点 1.创…

​最新仿抖音短视频开源版+商城+短视频

​最新仿抖音短视频开源版商城短视频 最新仿抖音短视频开源版商城短视频,完成度已经可以达到官方App的80%了 基于Vue、Vite 实现。使用了最新的 Vue 全家桶技术栈,接口数据通过 axios-mock-adapter模拟 源码截图: 免费下载地址&#xff…

visual studio 2017开发QT框架程序

1. 配置开发环境 首先创建项目 进入到项目后,右键点击项目点击属性,配置如下:

✌2024/4/4—力扣—盛最多水的容器

代码实现: 方法一:暴力解法——遍历左右边,找出所有面积,取最大值——超时 #define min(a, b) ((a) > (b) ? (b) : (a)) #define max(a, b) ((a) > (b) ? (a) : (b))int maxArea(int *height, int heightSize) {int ans …

CorelDRAW2024全网最详细独家讲解新版本新功能

各位粉丝大家好,为了让大家更深入的了解CorelDRAW2024新版的各项新功能,我们独家邀请到了Corel中国专家名师张苏老师,策划并录制30分钟全中文讲解栏目!干货满满,全程演示,一览CorelDRAW2024新版的各项新功能…

基于RTThread的学习(三):正点原子潘多拉 QSPI 通信 W25Q128 实验

1、基于芯片创建工程 2、QSPI配置 2.1、RTThing_setting 设置组件 2.2、配置board.h 文件 2.3、cubemx生成QSPI的硬件初始化代码;HAL_QSPI_MapInit; 这里注意:你所买的开发板对应的qspi 连接的是否是cubemx 上边显示的,如果不是你需要将引脚…

1.8.3 卷积神经网络近年来在结构设计上的主要发展和变迁——GoogleNet/inception-v1

1.8.3 卷积神经网络近年来在结构设计上的主要发展和变迁——GoogleNet/ inception-v1 前情回顾: 1.8.1 卷积神经网络近年来在结构设计上的主要发展和变迁——AlexNet 1.8.2 卷积神经网络近年来在结构设计上的主要发展和变迁——VGGNet GoogleNet问题 在VGGNet简单堆…

windows server 2019-搭建文件共享服务器

一、共享服务器概述 通过网络提供文件共享服务、提供文件下载和上传服务(类似FTP服务器) 文件共享使用的是CIFS协议(微软开发,微软全系服务器都自带此服务) FTP服务器对外(给客户) 文件共享…

人力资源管理系统大揭秘!推荐企业选型攻略

在现代化企业管理中,人力资源管理系统的引入犹如为企业注入了智能血脉,极大地提升了人力资源管理的效率和质量。本文将聚焦以下几款人力资源管理系统:ZohoPeople、宏景云平台、红海云、SAP SuccessFactors、ADP Workforce Now,为您…

视频上传-实现断点续传

视频上传 单纯的视频上传好办 前端传一个大文件的流 后端按照 MultipartFile 接受 然后读数据。 但是问题是视频这种大文件 它一般不会短时间传完, 这中间如果 前端用户的网络不好断了 那么你这个大文件就要重新传 等于前面传的都白费了 所以大文件上传/下载都有…

python导入redis库错误的解决方法

python连接redis,很多推荐使用【redis】库, 但是我的IDE一直报错,我分别尝试python3.12和python3.8版本,都不行。错误如下图 解决办法就是 换个库。 换成【redis2】,之前写的代码配置啊什么的不需要改,很方…

【开发环境搭建篇】PyCharm安装

本文收录于 《Python编程入门》专栏,从零基础开始,介绍Python编程入门相关的内容,欢迎关注,谢谢! 文章目录 一、前言二、下载三、安装四、创建新项目五、安装模块六、总结 一、前言 本文介绍如何在Windows环境下安装P…

更新!谷歌倾斜摄影转换生成OSGB瓦片V0.2版

半个月前发表了一篇文章(首发!谷歌倾斜摄影转换生成OSGB格式),首次将谷歌原始倾斜摄影瓦片转成OSGB瓦片,有读者对文章里的内容有诸多疑问,可能我在文章中描述的不够清楚,这里再解释一下。 1.谷歌倾斜摄影3DTiles瓦片生成方案 之…

同样是测痛仪有什么不一样?大小鼠足底光热刺痛仪VS大小鼠鼠尾测痛仪

简单介绍: ZL-024E大小鼠足底光热刺痛仪是应用在痛觉生理学、药理学等痛觉研究的仪器。可自动测定大/小鼠在自由状态下足底光热刺激痛阈时间,操作简便,并且可自动得出测定结果,是用于药理实验中研究镇痛**的理想实验仪器。 详情…