人々が大容量ファイル(ISOなど)をダウンロードできるWebサービスがあります。今すぐダウンロードする人は通常2人以上であるため、ユーザーが受信する総帯域幅の共有を管理する方法が必要です。たとえば、プレミアムユーザーとプレーンユーザーがあり、サーバーが最高速度で実行されている場合、プレミアムユーザーは総帯域幅の90%を共有しますが、通常のユーザーは約10%しか取得しません(自分の帯域幅によって異なります)。もちろんインターネット接続)。
帯域幅管理を提供する一部のLinuxサービスと通信できるNode jsスクリプトで、ユーザーごとに最大帯域幅を調整できることをお勧めします。
このようなことができるツールはありますか?
答え1
どのWebサーバーを使用しているかを確認する必要があります。実際の答えはそれがどれかによって異なります。
の場合はApache
設定が必要ですmod_ratelimit
。
の場合、nginx
オプションが呼び出されますlimit_rate
。
他のサーバーにはこの機能の独自バージョンがあります。サーバーから文書を検索します。
ユーザーの制限は通常、仮想サーバーを設定することによって行われます。匿名ユーザーはデフォルトのWebサイトにアクセスしてログインし、ログイン結果に基づいて自動的にVSのいずれかにリダイレクトされます。各VSには、異なるパラメータ(制限を含む)、異なるスクリプトセットなどが設定されています。
VSを設定する方法は、Webサーバー自体によって異なります。