如果这个问题被问过/回答过很多次,我提前表示歉意。我还不够了解我不知道的东西。
我们在典型的 LAMP 共享托管平台上有一个 Wordpress 网站,曾是每天点击量达数百次。我们越来越受欢迎,现在点击量已接近 1000 次。
有时它很慢或只是超时。该网站允许下载图片,并在数据库中跟踪用户下载的图片,因此它本质上是一个非常原始、免费的“商店”。我提到这一点是因为它可能比典型的非常小的 Wordpress 网站获得略多的数据库插入。
我的问题是:在扩大规模时,最重要的因素是什么?理想情况下,我们不会重新编码任何内容,服务器会奇迹般地更好地处理流量。
在我看来,有三个问题:
同时访问静态页面的访客数量
人们可能查看或下载的所有图像的静态内容(20gb)
mySQL 数据库通过 PHP 处理每个请求。
我见过各种关于专用服务器的文章,使用多个名称服务器来平衡负载、管理主机和云服务。
正如我所写,我希望得到一些反馈,以了解如何衡量造成瓶颈的原因,然后我们应该考虑哪些类型的服务,以便以最少的努力和成本为我们的场景带来最大的改进。换句话说:我如何预测我们可能尝试的不同升级的影响(VPS 与云服务与托管主机等)
答案1
最划算且唯一能保证提高性能的选择就是放弃共享主机。获得专用服务器,或者至少获得 VPS(虚拟专用服务器),这样你就有专用资源了。
您的网站似乎并不占用太多资源,说它可以在现代智能手机上运行也一点也不夸张。也就是说,优化您的网站并提高代码性能作为解决问题的方案假设瓶颈在您的网站上,而事实几乎肯定不是这样。实际情况是,您正在与此共享主机上的所有其他网站竞争,当其中太多网站同时变得过于繁忙时,就没有足够的资源来满足您网站的请求(可以肯定的是,此特定共享主机上的其他网站与您的网站同时遇到同样的问题)。
因此,您的第一步行动是获取一个小型 VPS 或专用服务器。一旦您的站点(或测试版本)上线,您就可以进行基准测试和优化,以确定是否需要进行其他改进,但我的赌注是“是否需要”。我敢打赌,只需消除计算资源的其他竞争源就足以消除您所描述的问题。
答案2
正如您可能在其他地方看到的那样 - 用 NGINX 替换 apache ...它的性能比 apache 更好。
配置也同样简单。
或者尝试看看 Microsoft Azure 平台(或其他平台),让其他人来负责基础设施 :) 如果您创建一个“免费试用”Microsoft Azure 帐户,它将在第一个月为您提供价值 130 英镑(GBP)的信用额度。有足够的时间来尝试它。