小编Max*_*Max的帖子

操作系统重启后,MySQL 查询速度慢 10 到 100 倍

我有一个在 Ubuntu 上运行的 MySQL 服务器。如果我重新启动 MySQL,一切都很好。但是,如果我重新启动操作系统,我的查询时间会增加 10 到 100 倍。我发现的问题的唯一“解决方案”是optimize在每张桌子上运行。之后一切又恢复正常。然而,在每次操作系统重启后重建整个数据库显然是极其痛苦的,而且不是一个可行的长期解决方案。

我通过以下方式重新启动操作系统

  1. 停止所有查询数据库的程序
  2. 等待查询完成执行
  3. 跑步 stop mysql
  4. 确保服务器停止ps -C mysqlps -C mysqld
  5. 跑步 reboot

如果我不重启操作系统并再次启动 MySQL,一切都很好。

附加信息:

  • 错误日志不包含任何指向问题的内容,我也没有收到任何错误。一切都只是慢了一两个数量级。
  • 所有表都受到影响。我正在使用 InnoDB,但在使用 MyISAM 时也存在同样的问题。
  • 通常 MySQL 使用 8GB RAM 的 80%,但在操作系统重新启动后仅使用大约 1GB。CPU 使用率从一个内核的 30-80% 下降到大约 1%。
  • 优化查询可以正常使用完整的 80% RAM,CPU 也会上升到正常值。

眼镜:

  • MySQL 5.5.35-0ubuntu0.12.04.2
  • Ubuntu 12.04.4 LTS
  • 8GB 内存,4 个 CPU 内核

my.cnf 文件:

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld] …
Run Code Online (Sandbox Code Playgroud)

mysql performance optimization ubuntu query-performance

5
推荐指数
1
解决办法
3766
查看次数