问题,客户平常1-3s能打开的页面现在1-3分钟才能打开?请分析是什么原因?
1. 首先摸清web服务器硬盘配置和服务器架构
DELL 1850
Redhat Linux3
LAMP架构
2.首先使用vmstat 查看大致的系统性能情况
有上图可以看出,
(1)r、b都正常,swapd虽然比较大但是很稳定;si、so也都是0,所以不是内存的问题,
(2) io下面的bi值比较大,也就是从磁盘上读数据比较多,而且cpu中wa的值也比较大,说明cpu在等I/O操作,说明是I/O出现了问题
3. 用iostat查看谁在发出I/O请求
iosata -x 1
上图可以知道是 /dev/ada3 文件系统比较活跃,其他的比较平淡。
一般都是应用程序发送I/O请求,I/O请求也都是去磁盘数据库取数据
3. 用top 或这top -d 1 来查看最活跃的用户程序
可以看到pid=14939 mysqld的进程占用的CPU比率最高,而且其他的都是很低的
4. 用 strace -p 14939 来查看mysql进程请求什么
看以看到是在update mysql数据库中的数据,但是失败!!!
这样就查到问题原因了,然后修正mysql的update命令就可以了!!