在我的网站上,2 GB RAM的VPS服务器,我托pipe一个存储库,用户可以下载一些小包(约2 MB)到他们的机器。
问题是,随着时间的推移,这个回购得到了非常stream行 – 成千上万的用户,如果不是成千上万,现在每次我更新包时,服务器将严重超载,直到caching开始行动起来。 但这可能需要几个小时(最后一次 – 几天),直到负载再次下降。
我试图增加内存到4 GB,但没有明显的改善。 购买更多,这是太昂贵。
有什么办法可以解决这些更新而不会被淹没吗?
编辑:我应该从一开始就提到它,我已经尝试了CloudFlare,但是,使用CF取消了我对zip文件caching时间的控制,因此我的更新从来没有及时到达我的客户端。
我主要是寻找一种方法来使连接排队,而不会超载服务器(如果甚至可能的话)…
两个相当容易实现的解决scheme:
如果经常请求,2 MB的静态内容应该留在文件系统caching中。
使用内容交付networking向外扩展到许多全局节点,并从您的Web服务器上卸载负载。
你可以调整httpd MPM,并可能select一个不同的。 工人是一个线程选项。 尝试初始线程限制比之前观察到的峰值请求率高一点。