这不是一个关于容量规划的问题,这是关于 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
通常,通过本地网络与数据库服务器的通信速度非常快。它可能不会成为瓶颈。根据提供商的不同,您的服务器甚至可能位于同一台机器上。您需要测量环境中的时间以获得准确的数据,以便为您的设置做出此决定。