今天有个服务器速度变得非常慢,用工具一看,IIS堵塞进程达到100多个,肯定有问题,下面进入排查(聚友习惯把过程写出来,如果不需要过程,请直接查看下面第五条,直接的MySQL故障:mysqld-nt: Sort aborted错误的原因及解决办法):
首先考虑有网站死循环了,利用任务管理器和命令行工具,找到了堵塞的进程所在应用程序池,把进程中运行的网站分到不同的池之中,重启IIS。观察结果如下:堵塞进程没有改善,但堵塞进程分散到了其他几个站;
问题基本可以确定就是来于MySQL
出现了这个问题,就解决他,先看问题,出现这个问题一般是存在数据量非常大的数据表,或是执行了带 order by OR group by 的 SQL 语句。 下面再说解决办法:建议您检查下内存的使用情况。建议将 MySQL 配置文件中的 sort_buffer_size 、read_rnd_buffer_size、read_buffer_size 设置大点(MYSQL配置文件 Unix/Linux: my.cnf,Windows: my.ini)。再加上内存与 CPU 使用量大的时候也会导致 MySQL 死掉。如果是虚拟主机用户,在查询的时候就会出现提示的mysql查询错误,可以与虚拟主机提供商联系。 |