1.性能优化:发挥机器本来的性能。
2.遇到新能问题分析
到底是不是问题?
是问题,如何证明是问题?
梳理思路
3.机器性能维度
CPU
Memory
IO
Network
分析:(1)看CPU:命令vmstat https://www.man7.org/linux/man-pages/man8/vmstat.8.html
命令top:https://man7.org/linux/man-pages/man1/top.1.html
cpu空闲不一定是没事做,可能是锁或外部资源瓶颈
cpu占满,依然可以运行,可以进行线程切换
load average:1分钟,5分钟,15分钟负载 。查看虚拟机cpu信息:cat /proc/cpuinfo
(2)看IO:命令iostat https://www.man7.org/linux/man-pages/man1/iostat.1.html
iostat -dx 1,w/s、r/s、%util,%util命令在执行过程中IO所占时间,一般不超过5
(3)看Memory:命令free https://www.man7.org/linux/man-pages/man1/free.1.html
free -g 看liux内存 -m buffers承接写,块,cache承接读
(4)看Network 命令incstat 需要安装
下载地址:http://sourceforge.net/projects/nicstat/files/nicstat-1.92.tar.gz
tar -zxvf nicstat-1.92.tar.gz
sudo vim Makefile
CFLAGS = $(COPT) -m32#将此行修改为如下:
CFLAGS = $(COPT)
sudo make -f Makefile install
(5)监控软件 https://www.zabbix.com/documentation/2.0/manual/appendix/api/api
zabbix nagios prometheus
(6)CPU过高定位方法
4.术语
吞吐量:单位时间内完成工作的度量
平均响应时间:一个请求完成的平均时间
平均响应时间越短,吞吐量越大
系统吞吐量越大,平均响应时间不一定越短
tps:服务器每秒处理的事务数
qps:一次查询时间
监控系统:硬件层面:zabbix nagios性能收集;服务层面:zipkin.io;应用层
5.性能优化之JVM
6.性能优化之Tomcat
7.性能优化之MySQL
待续......