47. 在 MySQL 服务器运行缓慢的情况下输入什么命令能缓解服务器压力?

这个回答,和上面的回答思路是差不多的,优秀在更有层次感。

1)检查系统的状态

通过操作系统的一些工具检查系统的状态,比如 CPU、内存、交换、磁盘的利用率,根据经验或与系统正常时的状态相比对,有时系统表面上看起来看空闲,这也可能不是一个正常的状态,因为 CPU 可能正等待IO的完成。除此之外,还应观注那些占用系统资源(CPU、内存)的进程。

  • 使用 sar 来检查操作系统是否存在 IO 问题。
  • 使用 vmstat 监控内存 CPU 资源。
  • 磁盘 IO 问题,处理方式:做 raid10 提高性能 。
  • 网络问题,telnet 一下 MySQL 对外开放的端口。如果不通的话,看看防火墙是否正确设置了。另外,看看 MySQ L是不是开启了 skip-networking 的选项,如果开启请关闭。

2)检查 MySQL 参数

  • max_connect_errors
  • connect_timeout
  • skip-name-resolve
  • slave-net-timeout=seconds
  • master-connect-retry

3)检查 MySQL 相关状态值

  • 关注连接数
  • 关注下系统锁情况
  • 关注慢查询(slow query)日志

运维

理解一遍,即使有蛮多不会,也不要担心太多。