http请求访问响应慢问题解决的基本思路

第一步,检查网络

ping命令检查网络域名解析是否正常,ping服务器的延迟是否过大,如果过大可以检查Ip是否冲突,或者交换机网线是否正常插好,通过nmon还可以查看网络流量,一般用的千兆交换机理论速率是1000/8=125MB每秒,但是这理论峰值一般都无法达到,所以如果网络流量达到了80~100MB每秒则可以判定瓶颈在交换机上,也可以用telnet来查看端口访问是否正常。通过这些方式,首先排除网络可能出现的问题,如果网络没有问题,那就开始第二步

第二步,检查服务器内存

如果请求响应速度慢,一般跟内存关联比较大,通过free -m, vmstat 1,nmon工具等方式判断内存资源是否紧缺,如果内存资源不存在问题,进入第三部

第三步,查看CPU负载

可以通过sar、vmstat、top、nmon等工具或命令判断cpu是否过载,如果没有问题那就进行第四步

第四步,检查磁盘IO

可以通过iostat 1、vmstat 、nmon等命令检查磁盘的读写,如果没有问题,linux系统自身的性能问题基本排除

第五步,抓取进程堆栈信息

通过jstack -l pid | tee -a out.log 将pid的堆栈信息抓取出来,放到out.log的文件中分析,看是在java进程的哪一步耗时较大,然后针对那部分代码进行优化

 

 

转载于:https://my.oschina.net/u/2499632/blog/704765

你可能感兴趣的:(java,操作系统,运维)