记录一次服务器响应慢的排查方法

1.客户端 ping 服务器的网络 
2. curl的方式访问服务器,判断是服务器的原因,还是客户端的原因
服务端原因(排除法):
1.查看数据库的连接数
2.查看sql查询效率
show status like  'Threads%'; -- 插看 活跃线程数
show variables like '%max_connection%'; -- 查看最大连接个数
-- 正常定位的话,就找到业务中用到的方法执行了那些sql,拿到数据库去跑一下试试看看执行时间
-- 慢查询这种操作是在sql插叙特别多,定位不到的时候使用
-- 查看慢查询 参数开启状态  show variables like 'slow_query_log';
-- 开始临时的慢查询机制  set global slow_query_log = on; 永久开启需要配置my.cnf文件
-- 临时设置慢查询时间临界点 set long_query_time = 1;
-- 设置慢查询存储的方式  set globle log_output = file;  table或者file file代表写到日志文件 table 代表写在slow_log表
-- 如果真的是sql 的问题那就考虑去使用explain 关键字去查看sql的执行的计划  去做对应的优化

自身程序的原因 
 debug 最笨的方式去查看在哪一步耗时最久,看看干了什么去做对应的代码优化

ps:本次服务器接口响应时间2s之久,最后定位的原因是把redis设置为windows服务的方式,开机启动(可能还需要配置)没做任何配置,在服务器使用的时候服务器用到缓存的地方是和redis做交互的反应巨慢;处理:暂时改成手动启动服务的方式了设什么导致这样的问题,还在查找....

你可能感兴趣的:(坑)