性能调优 性能监控

1.影响性能考虑点包括:

数据库、应用程序、中间件(tomcat、nginx)、网络和操作系统等方面。

首先考虑自己的应用属于 CPU密集型 还是 IO密集型

cpu密集型

计算,排序,分组查询,各种算法

IO密集型

网络传输,磁盘读写,数据库,redis

2.JVM监控 

因为JVM的 本地方法栈 程序计数器 虚拟机栈 是由JVM自动回收的,所以这里不需要进行调优,我们所说的调优,是 堆调优 

内存分配模型

具体去看我的 JVM文章

JConsole与 jvisualvm工具

输入这个命令

 jvisualvm工具

cmd命令

运行:正在运行的

休眠:sleep

等待:wait

驻留:线程池里面的空闲线程

 监视:阻塞的线程,正在等待锁

下载常用插件

 

根据显示,我的这个应用是IO密集型的,CPU占用不高 ,而内存消耗大,说明就是传输数据的应用 

3.性能压测 - 优化 -中间件对性能的影响 

怎么优化

使用JMeter 进行压力测试

3.1 压测 Nginx

创建线程组 ,勾选循环次数永远  来达到不断监测的效果 

配置好

然后去虚拟机先打开CPU检测

docker stats

 

打开监控以后,开始压测

 

 说明Nginx属于CPU计算型,不占内存,但是需要线程来进行操作转发

压测分析
压测内容压测线程数吞吐量/s90%响应时间99%响应时间
Nginx507459.91048
GateWay502967.52440
简单服务5010461.5678
首页一级菜单渲染50488(db,thymeleaf)196369
首页渲染(开缓存)50109281149
首页渲染(开缓存,优化数据库,关日志)120070132
三级分类数据获取509.9(db)/15(优化后·)54325855
首页全量数据获取502031753923
Nginx+GateWay50
Gateway+简单服务50221051102
全链路50113.84986

 中间件越多,性能损失越大,大多都损失在网络交互了

解决方案:

1.提高中间件的性能

2.买更好的网线

3.买更好的网卡

优化业务

业务功能:

  •   DB(MYSQL 优化)
  •   模板渲染速度(Thymeleaf)  打开缓存
  •   静态资源

 3.2 压测网关

因为404 返回这个,不过没关系,我们打开 jvisualvm

一直在进行垃圾回收 

3.3 压测服务

写了个测试接口返回 hello

3.4 压测整个页面

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

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

相关文章

将数据切分成N份,采用NCCL异步通信,让all_gather+matmul尽量Overlap

将数据切分成N份,采用NCCL异步通信,让all_gathermatmul尽量Overlap 一.测试数据二.测试环境三.普通实现四.分块实现 本文演示了如何将数据切分成N份,采用NCCL异步通信,让all_gathermatmul尽量Overlap 一.测试数据 1.测试规模:8192*8192 world_size22.单算子:all_gather:0.035…

JDBC链接kerberos认证的impala数据库报错问题解决

先上代码 public static Connection connectToImpala() {try {log.info("ketTabPath:" ketTabPath);log.info("krb5Path:" krb5Path);System.setProperty("java.security.krb5.conf", krb5Path);System.setProperty("sun.security.krb5.…

冒泡排序、选择排序、菱形

冒泡排序、选择排序、菱形 文章目录 一、冒泡排序二、选择排序三、菱形 一、冒泡排序 思路: 外层(第一层)循环控制循环次数,和业务无关 内层(第二层)循环用于比较相邻的2个值的大小,根据小到大…

用MySQL+node+vue做一个学生信息管理系统(五):学生信息增删改的实现

先实现增加信息: post参数的获取:express中接受post请求参数需要借助第三方包 body-parser 下载npm install body-parser //引入body-parser模块 const bodyParser require(body-parser); //拦截所有请求,配置body-parser模块 //extended:false 方法…

TransMIL:基于Transformer的多实例学习

MIL是弱监督分类问题的有力工具。然而,目前的MIL方法通常基于iid假设,忽略了不同实例之间的相关性。为了解决这个问题,作者提出了一个新的框架,称为相关性MIL,并提供了收敛性的证明。基于此框架,还设计了一…

昇思MindSpore学习总结六——函数式自动微分

神经网络的训练主要使用反向传播算法,模型预测值(logits)与正确标签(label)送入损失函数(loss function)获得loss,然后进行反向传播计算,求得梯度(gradients&…

怎么使用MarkDown画矩阵

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 今天写文章需要用到矩阵,记录一下 画矩阵需要用到特殊的语法 (1)画普通矩阵,不带括号的 $$be…

SHA1算法

什么是SHA1算法(Secure Hash Algorithm) SHA1算法也是一种哈希算法,也称单向散列算法,不可逆,适用于数字签名标准。与MD5大同小异。 算法流程 (1)明文处理,对明文进行填充&#x…

一文揭秘:CRM如何助力家居建材企业可持续发展?

01、家居建材行业业务高速发展,对数字化转型提出越来越高诉求 家居建材行业是国民经济的重要基础产业,是改善人居条件、治理生态环境和发展循环经济的重要支撑。家居建材是土木工程和建筑工程中使用材料的统称,包括天花板、瓷砖、门、窗、锁…

【Rust基础入门】Hello Cargo

文章目录 前言Cargo是什么?Cargo的作用查看cargo版本使用cargo创建项目Cargo.toml文件cargo build命令cargo runcargo check为发布构建 总结 前言 在Rust编程中,Cargo扮演着至关重要的角色。它是Rust的包管理器,负责处理许多任务&#xff0c…

echarts用pictorialBar实现3D柱状图

先看下效果 实现思路 描绘一个普通的柱状图通过象形柱图&#xff08;pictorialBar&#xff09;在柱状图的顶部添加一个图形类型&#xff08;symbol&#xff09;菱形 代码实现 <template><div id"symbolBar"></div> </template> <scrip…

[数据集][目标检测]金属架螺栓螺丝有无检测数据集VOC+YOLO格式857张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;857 标注数量(xml文件个数)&#xff1a;857 标注数量(txt文件个数)&#xff1a;857 标注类别…

代码随想录Day67(图论 part04)

110.字符串接龙 题目&#xff1a;110. 字符串接龙 (kamacoder.com) 思路&#xff1a;没有思路 答案 import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();String beginStr sc…

简单分享 for循环,从基础到高级

1. 基础篇&#xff1a;Hello, For Loop! 想象一下&#xff0c;你想给班上的每位同学发送“Hello!”&#xff0c;怎么办&#xff1f;那就是for循环啦&#xff0c; eg&#xff1a;首先有个名字的列表&#xff0c;for循环取出&#xff0c;分别打印 names ["Alice", …

Firefox 编译指南2024 Windows10篇- 编译Firefox(三)

1.引言 在成功获取了Firefox源码之后&#xff0c;下一步就是将这些源码编译成一个可执行的浏览器。编译是开发流程中的关键环节&#xff0c;通过编译&#xff0c;我们可以将源代码转换为可执行的程序&#xff0c;测试其功能&#xff0c;并进行必要的优化和调试。 对于像Firef…

Datawhale - 角色要素提取竞赛

文章目录 赛题要求一、赛事背景二、赛事任务三、评审规则1.平台说明2.数据说明3.评估指标4.评测及排行 四、作品提交要求五、 运行BaselineStep1&#xff1a;下载相关库Step2&#xff1a;配置导入Step3&#xff1a;模型测试Step4&#xff1a;数据读取Step5&#xff1a;Prompt设…

不要再被骗了!电脑无法进入系统的原因可能是这个硬件坏了而已……

前言 前段时间小白在抖音上发了很多很多很多的视频&#xff0c;其中应该是有很多商家关注了小白。 然后就会出现很多很多很多的赚钱小门道…… 电脑开机没有显示&#xff1f;换显卡&#xff01; 电脑还是不开机&#xff1f;换CPU 电脑还是一样不开机…… 经过了一番大折腾…

电脑录音方法:电脑怎么录音?5招轻松搞定录音!

想要从麦克风或系统音频录制电脑声音吗&#xff1f;这是一项简单的任务。本文将为您介绍5种最佳且最简单的方法&#xff0c;包括使用Windows系统自带的录音工具来录制电脑音频&#xff0c;在线音频录音软件和专业的第三方电脑录音软件。这些工具都能够很好地帮助您完成电脑怎么…

【深度学习】循环神经网络RNN、LSTM、GRU

李宏毅深度学习笔记 https://www.bilibili.com/video/BV1qM4y1M7Nv RNN 在 RNN 里面&#xff0c;每一次隐藏层的神经元产生输出的时候&#xff0c;该输出会被存到记忆元。下一次有输入时&#xff0c;这些神经元不仅会考虑输入 x1, x2&#xff0c;还会考虑存到记忆元里的值。 …

高危行业的安全守护者,顶坚防爆手机无惧挑战

高危行业的安全守护者&#xff0c;防爆手机以卓越性能&#xff0c;无惧极端挑战&#xff0c;为每一位前线工作者筑起坚不可摧的安全防线。石油勘探的深邃海洋、化工生产的复杂车间、矿山的幽深隧道……这些高危行业中&#xff0c;每一步都需谨慎前行&#xff0c;每一刻都需安全…