我有一个视频网站,运行在 Apache2 下的 VPS 上,很快就会开始按次付费。在它开始产生可观的收入之前,我不想投资更多服务器,所以首先我需要为我的客户提供足够好的服务。
我还托管了其他几个网站,但这些网站预计不会占用太多带宽。
我知道我的主要瓶颈是带宽——所以我认为最好的办法是一旦带宽接近极限,就阻止新连接访问视频网站。任何正在观看电影的人都不会受到影响。
关于实现这一目标的最佳方法有什么想法吗?
更新:带宽限制不是提供商为我分配的带宽,而是通过网卡提供给我的 VPS 的可用带宽。我发现,一旦同时下载 250 台服务器,情况就开始恶化。假设每次下载速度为 1mbps,我想在达到 250mbps 后开始限制速度 - 理论上我可以达到 1000mbps,但看起来这似乎行不通。
答案1
您也可以尝试查看 mod_bandwidth,它能够定义服务器范围的带宽限制或每个连接的带宽限制。它不会阻止进一步的连接,因为这可以使用指令来实现MaxClients
。
因为我假设您正在使用 mpm_worker,所以您的设置将会很有趣ThreadsPerChild
。
mod_bandwidth限制可以基于
- 文件位置
- 文件大小
- 和远程 IP/域。
我的方法是使用MaxClients
指令将同时连接数限制为250
。然后使用 mod_bandwidth 确保每个客户端都能获得“公平份额”的带宽,而不是带宽垄断。
答案2
例如,您能否向我们提供更多信息?
服务器操作系统、分配的带宽、编程水平等。
您考虑过 CDN 吗?
答案3
您是否考虑过将您的“网站”托管在标准托管包上,然后使用 VPS 提供文件?这样您的网站将始终可用。
大多数 VPS 和云提供商都提供功能齐全的 API,您可以查看使用了多少 BW 等。此外,您如何提供文件?是通过服务器端代码吗?
如果没有更多信息,我只能建议这个答案或 CDN。