![仅为 Mysql 购买新的 VPS 或升级当前 VPS 并将整个堆栈保留在同一台服务器上](https://linux22.com/image/748686/%E4%BB%85%E4%B8%BA%20Mysql%20%E8%B4%AD%E4%B9%B0%E6%96%B0%E7%9A%84%20VPS%20%E6%88%96%E5%8D%87%E7%BA%A7%E5%BD%93%E5%89%8D%20VPS%20%E5%B9%B6%E5%B0%86%E6%95%B4%E4%B8%AA%E5%A0%86%E6%A0%88%E4%BF%9D%E7%95%99%E5%9C%A8%E5%90%8C%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%20.png)
这不是一个关于容量规划的问题,这是关于 mysql 在本地网络上的性能与在同一个虚拟机上的性能(它需要与其他进程共享 CPU)
我有一个wordpress+woocommerce网站托管在 VPS 上2 核、4GB RAM 和本地 NVMe 存储,配置了 ubuntu 18.04,nginx,php7.3和 Perconamysql 8. 主办方为德国Hetzner。
最近我的网站的流量增长了,我的 CPU 使用率也增长了,主要是由 mysql 占用(大约 2/3 的 CPU 由 mysql 使用,另外 1/3 由 php-fpm 使用)。有时当有很多人同时访问我的网站时,加载需要很长时间,因为我的CPU 处于 100% 状态很多秒
我现在面临一个决定:购买另一个 VPS像这样并将 mysql 移到它上面或者升级此 VPS并将其规格加倍?
无论哪种方式,成本都是一样的,当然拥有两台独立的机器意味着灾难恢复会更容易/更快,如果其中一台服务器崩溃,我只需要恢复一半的服务就可以让网站重新上线,而且将来设置负载平衡系统也会更容易。
但TTFB 的成本是多少每次 wordpress 需要查询数据库时,都要联系私有网络上的另一台机器吗?或者我的加载时间会改善吗因为我专门为 php 设置了 2 个核心,为 mysql 设置了 2 个核心,这样它们就可以在更少的排队情况下并行处理同一个请求?
我的首要任务是让我网站的 TTFB 尽可能短,没有 php 缓存,因为我现在由于技术原因无法使用它。
答案1
通常,通过本地网络与数据库服务器的通信速度非常快。它可能不会成为瓶颈。根据提供商的不同,您的服务器甚至可能位于同一台机器上。您需要测量环境中的时间以获得准确的数据,以便为您的设置做出此决定。