web-dev-qa-db-ja.com

400人の同時ユーザーにビデオを提供するためのハードウェア要件

少なくとも400人の同時ユーザーに約150MBのファイル(ビデオ/オーディオ)を提供する必要があります。どのようなハードウェアが必要だと思いますか? OSにはUbuntuを使用し、サービスにはApacheを使用することを計画しています。

使用法は内部ネットワーク用であり、インターネット経由ではありません。

具体的には、HDDの速度、RAMの容量、および必要と思われるプロセッサについてのアイデアを探しています。

3
user56757

ああ-私の好きな科目!

おそらく、静的で事前にエンコードされたファイルを再生するだけですよね?あなたがやりたいことは、最初にあなたのコンテンツの平均ビットレートを計算することです、これはあなたが計算する必要がある他のすべてのことへの道を導きます。

これで、わずか150MBのコンテンツで簡単にキャッシュできるようになるため、ディスク速度について心配する必要はありません(ただし、このコンテンツストアを拡張し始めると変更されます)。したがって、知っておく必要があるのは、この作業がCPUにどれほど集中しているかです(ヒント:固定ファイルの場合はおそらくそれほど多くはありません-ほとんどの場合、CPUはNICを待機します)-少なくとも2つの2-3GhzCPUが必要だと言っています、おそらくもっと多いですが、多くの成長を期待している場合、または同じマシンを使用してトランスコーディングを行っている場合を除いて(とにかく悪い考えです)-シングルソケットのXeon(36xxシリーズ)またはデュアルのいずれかを使用しますソケットXeon(56xxシリーズ)。

4GBのメモリが必要になります(安価で、ゲットーは少なく、マシンがそれ以上の作業を行わない限り、現在4GBを超えることは無意味です)。

ミラーリングされた小さな「っぽい/遅い」ブート/ OSディスクのペアがあり、次に別のミラーリングされたデータディスクのペアがあることを確認してください-今のところ、コンテンツが増えるとより多くの/より速いディスクを取得できることを知って、ここに保存します。

OSの場合、最近は64ビット以外を使用する理由はありません。コンポーネントに使用できる64ビットドライバーがない場合は、マシンに配置しないでください。これらのユーザーは、書き直すのに5年かかりました。 、それができない場合、彼らはあなたの£$€に十分な努力をしていません。

ここで最も重要なNICであるNICについて、障害を処理するためにチームペアで2つが必要になります-ビッグネーム、理想的には割り込み合体やTOE/LSOなどをサポートするサーバークラスのカードを選択してください-これらはたくさん。次に、これらのNICの速度を把握する必要があります。考慮すべきバリエーションは、実際には1Gbpsと10Gbpsの2つだけです。

1Gbps NICは、完全に駆動されたときに最大80〜85MBpsのトラフィックを送信できます。これは、400の同時ストリームに対してユーザーあたり約200KBpsまたは約2Mbpsで動作します。これは実際にはかなりの量であり、ほぼ満杯です。画面のSD品質。コンテンツが=>この数値でエンコードされている場合は、初日に10Gbps NICに移行することをお勧めします。通常、「埋める」のが難しいため、正確に10倍速くなるわけではありませんが、初日に歯が生えるのをやめましょう。

もちろん、ネットワーク全体でその量のトラフィックを処理する必要があります。忘れないでください。スイッチ、ルーター、ファイアウォール、ロードバランサーなどはすべて、その種の負荷をクリアできる必要があります。もちろん、実際のインターネットリンクも同様です。

幸運を。

ところで-私は約50万人のユーザーに対してこの種のことを行っていますが、ほとんどは約1.5Mbps(一部は約6Mbps)です。

6
Chopper3

ファイルの送信はIOアクティビティであるため、CPUがファイルをプルしてユーザーにプッシュすることで大きな打撃を受けることはありません。

現在のCPU、十分な量のRAM(サーバーにとってはより良い)、およびHDDの速度が高いほど良いと思いますが、私は手に負えないと思います。

手元にはありませんが、具体的な数字はありません。ここでの私の最初の考えですが、具体的な数値/データを提供することで誰かが拡張できることを願っています。

1
Chris

圧縮、コーデック、ファイルのコピー、ストリーミング、ファームアウト、単一サーバー、これらの同時ユーザーなどについては言及していません。

私が言える最善のアドバイスは、ハードウェアRAIDを備えたRAID 10(これがビジネスクリティカルなシステムかどうかはわかりません)など、入手可能な最速のドライブを入手することです。ドライブサブシステムやネットワークカードほどプロセッサに負担がかからないため、入手可能な最高のクアッドコアプロセッサを入手してください。ネットワークカードが最高品質でギガビット速度であることをもっと心配してください(2つ取得し、可能であれば、正しく構成されたCiscoスイッチとチームを組んでください)。キャッシュの目的で、64ギガ以上のできるだけ多くのメモリを取得します。

現実はそれがあなたの実際の使用法に依存するということです。これを小規模でテストしましたか?もしそうなら、どのハードウェアで、そしてそれはどのように機能しましたか?ユーザーはいつパフォーマンスについて不満を言いますか?どのようなボトルネックに遭遇しましたか?

提起されたこの質問は、実装の詳細について少し曖昧です。

1