我有一个网络服务,人们可以下载大文件(比如 ISO)。现在,由于通常有超过 1 人下载,我想要一种方法来管理用户接收的总带宽的份额。例如,如果我们有高级用户和普通用户,并且服务器全速运转,则高级用户将共享总带宽的 90%,而普通用户只能获得大约 10%(当然取决于他们自己的互联网连接)。
如果我可以在一个可能与某些提供带宽管理的 Linux 服务进行通信的 Node js 脚本中调整每个用户的最大带宽,那就太酷了。
有没有一个工具可以让我做这样的事情?
答案1
您需要查看您正在使用的网络服务器。实际的答案取决于是哪一个。
对于Apache
,您需要进行设置mod_ratelimit
。
对于nginx
,该选项称为limit_rate
。
其他服务器有自己的此功能版本。搜索服务器上的文档。
用户限制通常是通过设置虚拟服务器来完成的 - 匿名用户访问主网站,登录 - 并根据登录结果默默地重定向到其中一个 VS。每个VS都设置了不同的参数(包括限制)、不同的脚本集等。
如何设置 VS 也取决于 Web 服务器本身。