在我的服务器上,MySQL(MariaDB)与 Apache/PHP-FPM 相比占用了多少资源?

在我的服务器上,MySQL(MariaDB)与 Apache/PHP-FPM 相比占用了多少资源?

我在这个服务器上托管了大约 60 个客户端站点:AMD EPYC 7401P 24 核“Naples”(Zen)128GB DDR4 ECC RAM NVMe 存储。Centos7

所有站点都是 PrestaShop 1.7 站点,每个站点都有自己的 PHP 7.1 PHP-FPM 池以及一个 MySQL(MariaDB)数据库。

速度很快,但我正在考虑迁移到一个单独的 MySQL 服务器和一个 Web 服务器。

我不知道 MySQL 与 Apache 和 PHP-FPM 相比占用了多少资源。

假设我在当前服务器上保留 Apache 和 PHP-FPM,并为 MySQL 购买新服务器。我应该买什么服务器?与 Web 服务器相比,RAM 和 CPU 是原来的一半吗?还是两倍?还是一样?

我猜测答案是:没有实际数据很难说,那么接下来的问题是:我怎样才能获得这些数据,最好随时间变化的资源使用情况? 这些数据是否已经隐藏在系统中了,还是我需要安装一些统计工具?

答案1

(我不了解 PrestaShop,我将使用 MySQL 解决通用扩展问题。)

是的,将数据库移动到单独的服务器是扩展应用程序的合理的第一步。

  • 您有多少数据(或将有多少数据)? RAM 大小是在是否足以缓存大部分或全部数据与 RAM 成本之间的权衡。
  • CPU(对于 MySQL)无关紧要。几乎总是可以通过改进索引和/或查询来解决过多的 CPU 使用率。
  • 磁盘速度可能很重要。
  • MySQL 需要使用 RAM 和磁盘。Apache 和 PHP 需要使用 CPU。因此您可能看不到太多改进。
  • 如果您可以确定 Apache/PHP/PrestaShop 是最大的占用者,那么您可以拥有多个运行该服务器的服务器,然后再拥有一个 MySQL 服务器。
  • 如果 MySQL 是主要问题,那么我们来看看慢查询。​​如果问题可以解决,那么 Replication 很可能是解决方案。

至于调查/改进当前(单服务器)设置:

  • 如果客户端来来去去,请不要配置完整的 60 个连接。
  • MySQL 希望 70%可用的RAM 并且讨厌交换。“可用”是指考虑操作系统、代码和其他应用程序之后。
  • Windows?还是 Unix?让我们看看按内存排序的顶部top。以及按 CPU 排序。(在繁忙时段)

相关内容