厉害!
我一般服务器我主要关注 CPU,内存,网络,磁盘 IO,负载情况,数据库服务器会重点关注磁盘 IO 以及 CPU 的%wa
常用的监控工具有 Jconsole,VisualVM 和 jmx,其中,用 Jconsole 主要是内存检测这一块比较好,另外两个在 CPU,线程方面直观,抽样很方便;当然了,还有配合 Linux 命令,或者做成 shell 脚本,用 crontab 定时采集信息获取数据
数据库监控比较喜欢用 MONyog
公司也有监控平台,不过要申请权限,也要申请将性能测试机器加入监控。
这些数据一般会有预警值和报警值,超过这个值就得注意了,比如 CPU 高,要确认是什么原因引起的,观察 top 命令中关注 CPU 那一行的各个百分比等,我就曾经碰到过%wa 特别高的情况,原因是 IO 瓶颈导致服务器在大量的等待输入输出。
一般的性能分析思路
1、网络瓶颈:如带宽,流量等形成的网络环境
2、配置参数:如中间件的基本配置,数据库 JDBC 连接池等;
3、扩容升级:增加应用服务器,数据库服务器以及客户机的 CPU、内存、硬盘等配置
4、SQL 优化:如全表扫描、未创建索引、限制结果返回集等;
5、部署架构:如部署负载均衡服务器及负载均衡的策略、分布式集群策略。