响应时间长的常见原因:
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%),应用服务器负载比较低
索引
索引是对数据库表中一列或多列的值进行排序的一种结构,存储了表中的关键字段,使用索引可快速访问数据库表中的特定信息。类似于书籍中的目录。
分析
数据库服务器CPU高,一般都是因为SQL执行效率低导致的,可能有三方面原因
1、数据库表缺少必要的索引;
2、索引不生效

最低0.47元/天 解锁文章
666

被折叠的 条评论
为什么被折叠?



