如果服务响应过慢,且中间有查询数据库,那么我们可以尝试查询数据库的慢查询日志,相关的配置及开启的方式参考如下。

相关配置

  1. mysql> show variables like 'slow_query%';
  2. +---------------------+---------------------------------------------+
  3. | Variable_name | Value |
  4. +---------------------+---------------------------------------------+
  5. | slow_query_log | ON |
  6. | slow_query_log_file | /var/mysql/localhost-slow.log |
  7. +---------------------+---------------------------------------------+
  8. mysql> show variables like 'long_query_time';
  9. +-----------------+----------+
  10. | Variable_name | Value |
  11. +-----------------+----------+
  12. | long_query_time | 2.000000 |
  13. +-----------------+----------+

slow_query_log

  • NO 表示开启
  • OFF 表示关闭

slow_query_log_file

  • 慢查询日志路径

long_query_time

  • 查询耗时超过此配置的 SELECT 语句都被认为是慢查询
  • 单位是

    开启慢查询

  1. 全局开启(重启 MySQL 失效)
    1. set global slow_query_log='NO';
    2. set global slow_query_log_file='/var/mysql/localhost-slow.log';
    3. set long_query_time=2;
  2. 永久开启(从不失效) ```java mysql.cnf

[mysqld] slowquery_log = NO slow_query_log_file = /var/mysql/localhost-slow.log long_query_time = 2 ``` 如果数据库并没开启慢查询日志记录,那么上面的 #1#2_ 步骤都是需要同时设置,对应立即生效及重启后生效。