【发布时间】:2018-01-15 04:06:16
【问题描述】:
我们有一个 2GB 的 Digital Ocean 服务器,它专用于其他两台 PHP 服务器的 MySQL 服务器。我们在这台服务器上使用 Percona MySQL Server 5.6。我们配置了 MySQL 复制,这些配置工作正常
我们的问题是有时我们的站点监控工具会报告此服务器托管的某些 URL 已关闭(可能会在一两周内发生一次)。当我检查时,我可以看到 Mysql Master 服务器负载太高(可能是 35 - 40),所以 MySQL 服务器没有响应。 @ 我通常会重新启动 MySQl 服务,此重新启动导致服务器负载变得正常,并且站点在服务重新启动后开始工作。
这是一个后端 MySQL 数据库服务器,包含 20-25 个 PHP 应用程序(WordPress、Drupal 和一些自定义应用程序服务器)。
这是我的问题,
- 为什么这个服务器负载在出现峰值后会自动下降?
- 数据库是否有任何方式引起问题?这样我也可以识别应用程序。
- 如何确定此问题的根本原因
【问题讨论】:
-
通常这些是由长时间运行的 mysql 查询引起的。最好找到并优化这些。我怀疑缺少索引和 cron 作业疯了。