web-dev-qa-db-ja.com

各仮想ホストの帯域幅とスペースの使用を制限しますか?

私はシステム管理について教えてくれる小さなウェブホスティング会社を始めています。私が抱えている問題の1つは、各仮想ホスト(Debain/nginx)の帯域幅とディスク容量をどのように制限するかです。それとも私はそれを間違った方法で行っており、仮想ホストを使用すべきではありませんか?

5
Dr Hydralisk

mod_bandwidth を使用して帯域幅を制限しました。ディレクトリごと、ファイルごとなどに使用できるため、VirtualHostごとに構成する必要があります。

ディスク容量については、クォータを使用してください。顧客ごとにUNIXアカウントを作成し、それらにクォータを割り当てます。それはウェブでかなりよく文書化されているはずです。

2
KikoV

いくつかの簡単なグーグルは、Squidプロキシを使用して「データプール」と呼ばれるデータのキューを設定できることを示しています。どうやらIPROUTE2とTCも使用できるようです(リンクを投稿できません、私は十分に素晴らしくありません)

から http://www.faqs.org/docs/Linux-HOWTO/Bandwidth-Limiting-HOWTO.html#AEN65

通常のキャッシュとは別に、Squidには遅延プールと呼ばれる特別な機能があります。遅延プールのおかげで、任意のURLに存在するいわゆる「魔法の言葉」に応じて、合理的な方法でインターネットトラフィックを制限することができます。たとえば、魔法の言葉は「.mp3」、「。exe」、「。avi」などです。URLの任意の部分(.aviなど)を魔法の言葉として定義できます。

また、serverwatch.comのReining-in-Bandwidth-With-Squid-Proxyingというタイトルの記事も参照してください。

イカはおそらく最も簡単な方法であり、他にもたくさんのクールなことができます。

1
Joe A

その単純ではありません。スクリプト化されたプロキシをWebサーバーの前に配置しない限り、vhostsを使用して制限を適用することは不可能だと思います(スクリプト化されたWebインターフェイスへのファイルのアップロードを制限しない限り、帯域幅の問題にのみ対処します)。

しかし、確かにビジネスの観点からは、X帯域幅とYディスク使用量を含むパッケージを販売し、超過分を顧客に請求する方が理にかなっています(ディスクフットプリントとアクセスログから簡単に測定できます)。

C。

0
symcbean

総帯域幅の使用を制限するには、KikoVの回答を参照してください。ディスク容量の制限について説明しています。

実際、ディスク容量を制限する直接的な方法はありませんが、2つのオプションがあります。

  1. たとえば、毎日使用済みディスク容量を計算し、クライアントの超過を禁止/警告するスクリプトをスケジュールできます。
  2. クライアントごとにシステムユーザーを作成し、ファイルシステムクォータマネージャーを使用できます。詳細については、 この記事 をお読みください。
0
Ehsan