我有一个网站 - 照片库。大约有 400 张照片。网站位于 Gallery 3。mySQL。托管在 myhosting.com 的 VPS 上(CPU 1792 MHz,2048 MB RAM)。
一切似乎都很好,但有一个大问题。一旦流量达到约 20 人(在线) - 网站加载速度就会非常非常慢。实际上,网站大约 30-60 秒内无法加载。
我应该怎么办?
在同一个 VPS 上购买更多 RAM / CPU?转移到专用服务器,或者 myhosting.com 可能很差劲?
你有什么建议吗?
答案1
不知道。说真的。问题是你没有提到瓶颈。单核 1.8ghz CPU 应该可以毫无问题地处理 20 个用户。
只是:
- 我们不知道主机的网络负载如何
- 我们不知道您是否拥有 1.8ghz CPU。它是这样说的,但 VPS 是共享的 - 可能您总共只有 10% 的时间片。
看起来 VPH 完全超载了,遗憾的是主机超载情况实际上无法从客户端进行分析。我运行一些高性能 VPS - 但运行在我自己的硬件上,因此我总是知道主机上的 CPU 何时达到峰值,或者 IO 何时落后。
我建议做一些性能测试,然后可能转到更知名的主机?例如 Linude。速度慢的不是 VPS 本身,但如果我使用便宜的 VPS 最大限度地利用了一台机器,那么自然……嗯……并不是每个主机都真的有他所看到的那样。
物理服务器有优点也有缺点。优点:您知道自己拥有什么。缺点:如果发生故障,您就会遇到问题。更新也是如此。当您拥有多个服务器时,这通常是有意义的。
答案2
尝试使用 Apache 配置中的 prefork 值(如果您使用 Apache):
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 20
MaxClients 20
MaxRequestsPerChild 4000
</IfModule>
答案3
VPS 似乎足以处理更高的负载。我猜测,没有足够的活动进程为网站提供服务。因此,例如,如果您安装了 Apache,则应提高 MaxClients 设置。