一.概述
我们上一批讲的是压力测试,通过压力测试,我们可以看到系统的吞吐量、请求运行的时长等等,那我们怎么去实时的监控系统的运行情况呢?
jvm详解
GC详解
二.jconsole和jvisualvm
都属于jdk的工具,根据命令行启动,可以监控本地和远程应用。jvisualvm更详细一点 (监控内存泄露、跟踪垃圾回收、执行时内存、cpu分析、线程分析等等)。
三.jconsole
![在这里插入图片描述](https://img-blog.csdnimg.cn/df3bf3dbba174b29bb2e4fc8a4aaa886.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/c6f819d719b842d9be881ede65ae98cd.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7b0a66821abd45eb89b1594828ad914f.png)
四.visualvm
直接打开命令行输入 jvisualvm
jvisualvm下载官网
1.输入命令提示 jvisualvm不是内部或外部命令,也不是可运行的程序或批处理文件
原因:① 如果你的jconsole
可以然而jvisualvm
不可以,那是因为有的版本jdk不包含jvisualvm(需要下载)。
② 如果都不行,那就看看你的环境变量有没有配 JAVA_HOME为个人的JDK安装目录
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
![在这里插入图片描述](https://img-blog.csdnimg.cn/cd0c6dadd2404ca28ce25bef20bd15a3.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/14ce0840604c4e97aad2532bd0d784f0.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/91b81be173da4ed38737b6635a79613e.png)
2.打开jvisualvm里面不包含GC监控
![在这里插入图片描述](https://img-blog.csdnimg.cn/fc2c94321c6f43bbb877f8d89334918b.png)
(1) 直接远程下载
![在这里插入图片描述](https://img-blog.csdnimg.cn/3eed1e83074e4b5a908ccd242df7212b.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/9abf2a1cad5a48aabc366ac0248c1bfe.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/1cf3481df18a4abc8878ae60e05ed914.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/61a3618bdd564b62ba0f8cebb4755fb8.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/a7937cdcede94fedbfabd1e99a7d449d.png)
(2) 远程下载不下来,使用导入功能
![在这里插入图片描述](https://img-blog.csdnimg.cn/10785e7d09734dee999c64fdfef615da.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/17435a1c4e8a4e4c82e61b6237d63e69.png)
五.性能优化
因为我们可以根据压力测试和性能监控来判断是哪里导致系统过慢、资源占用过多或者内存溢出等等。
优化方案:
1.优化中间件(中间件越多,系统性能越差)
(1) 买更好的网线和更好的网卡等。
(2) 使用传输效率更高的协议。
2.优化代码业务
(1) SQL优化。
(2) 优化渲染速度(使用缓存)。
(3) 静态资源(动静分离)。
3.内存崩溃优化
根据jvisualvm
监控GC情况,使用调优命令调节大小。(列如:-Xmx1024m)