小编Lor*_*nez的帖子

简单的 2 台服务器场景中的巨大扩展问题

我目前在 2 个不同的位置(数据中心)运行一个网站,但运行同一台机器。在过去的几个月里,整个表现一直在下降,我一直无法找到罪魁祸首。

两台机器都在 SoftRaid 上运行 Intel(R) Xeon(R) CPU E3-1245 V2 @ 3.40GHz(8 个线程)、32GB 内存、2x120GB SSD 磁盘。

两台机器都运行以下软件:

  • php-fpm7.1
  • nginx
  • Percona MySQL(配置为master-master)
  • Redis

两台服务器都运行相同的代码,我使用 Amazon Route 53 来平衡使用 DNS 的流量。

服务器过去运行良好,大约有 2000 个用户浏览网站(来自 Google Analytics 的数据),平均负载永远不会超过 1。

最近,我看到性能大幅下降。任何任务都会将平均负载提高到 6-8,有时很容易超过 15-20。即使是一次代码部署(一些 bash 任务和一个没有太多麻烦的 git 克隆)也将花费很长时间,并且会看到平均负载增加并减慢整个机器和网站的速度。

几个月前,我不得不增加 MySQL 连接,同时我确实增加了打开文件的限制。当前的 MySQL 连接是在 2000 上,我让 MySQL 自己打开文件(值=0 会自动为你检测)。

我的主要猜测是这与数据库配置有关,我看到复制时很慢(是主-主复制),每次在网站中有插入时,我都可以看到加载时间跳到 10-15 秒。

最奇怪的是我只在一台服务器上有流量。使用 AWS Route 53,我从池中删除了一台服务器,因此只有其中一台服务器实际上正在加载,即便如此,机器还是超载了。下面是一个例子:

在此处输入图片说明

在发生这种情况时,我试图在网站上发表评论,这是对一个表的简单 INSERT,其中有 1 行,它只插入 3 个值:

在此处输入图片说明

问题是……这个网站在我的带有 1 个 CPU 和 2GB 的 Vagrant 开发机器上运行得比它在大盒子的实际生产中运行得更好。

我确定您希望看到一些文件来提供帮助,我只是不知道什么可能有帮助,所以请告诉我,我会显示您可能需要的任何配置。

提前致谢!

更新 #1 …

performance

4
推荐指数
1
解决办法
106
查看次数

标签 统计

performance ×1