响应时间长的常见原因:
1、网络问题,尤其是走公网
2、硬件资源:CPU、内存、磁盘
3、数据库,慢SQL
4、线程阻塞
5、数据库
6、程序问题
7、第三方系统接口比较慢
8、连接数问题
逐项排查
1、网络带宽
公网,受限于网络带宽,会出现延迟等。
但是如果是内网测试环境,通常受限于网卡,一般是千兆网卡,即125MB/s
2、硬件资源 - CPU、内存、磁盘
CPU:dstat或top查看cpu使用率
内存:
- dstat或 free -m 查看内存使用率,
- jstat -gcutil pid 1000 100查看GC
- jmap生成dump,分析堆内存使用
磁盘:dstat或iostat查看磁盘
3、线程阻塞
使用jvisualVM或jstack生成线程dump文件,查看线程信息
4、数据库
tps很低,响应时间很长,数据库服务器cpu很高(接近100%),应用服务器负载比较低
索引
索引是对数据库表中一列或多列的值进行排序的一种结构,存储了表中的关