慢排查项目运行缓慢
页面排查
当页面加载很慢是,打开F12,切换到network,查看每条请求加载的时间。
- 查找返回错误响应码的请求,分析原因
- 查找响应时间长的请求,分析原因
服务器方面
-
使用uptime查看服务器负载均衡情况
-
使用ps命令查看那个进程占用的cpu多,分析原因
数据库方面
-
查看数据库运行情况
show processlist;
show full processlist 查看全部情况
mysql -uroot -ppasswd -e "show full processlist " | grep -vi sleep
-
对阻塞的第一条语句进行分析
explain sql语句
-
如果没有走索引,则创建索引
-
查看表中字段的唯一性情况,在唯一性多的字段上创索引,如果唯一性都不多,则选择两个或多个唯一性多的字段创建联合索引
select count(distinct 字段) from tablename;
-
打开profiling
show variables like '%pro%'
;
set profiling=ON;
-
慢查询语句(日志文件)
更改mysqld文件
long_query_time=1
log-slow-queries=path/logname.log
sql语句不能优化采用方案
- 配置数据库主从同步,程序上实现主从分离,减轻主库读写压力
- 对大量操作的数据进行memcached或者redis缓存服务器缓存