May 24, 2020

自分が借りているWebサーバーの性能

目的

スマホアプリ やる勉Eng に すべてのMP3を含めると アプリサイズ350MBとなり、システム上限(iOS 200MB Android 100Mb)を超えてしまう。

当面の対策として、はみ出る MP3 を 自社のレンタルサーバー(ファイル容量制限無し)に置くことにするが、その対策で、 サーバーの通信性能的に、何人のユーザーをサポートできるか、ざっくり計算したい。

結論

とりあえず、同時ユーザー 140人から200人、(30分のMP3の5分しか再生しないとする)条件がよければ、1000人ぐらいなら、 スマホアプリに入りきらないMP3は、サーバーに置いても、スムースにアクセスすることができそうだ。

ただし、近い将来には、はみ出る MP3 を バックグラウンドでダウンロードしておき、サーバーの負荷を 分散化するアプリケーションが必要になる。

実験

curl でダウンロードの速度を計測

環境条件

サーバーはアメリカ合衆国にあり、計測地・自宅は、日本の千葉県で、光ファイバーで接続。

計測結果

13.2 MB(13,871,348 byte)のMP3ファイル(再生時間30分=1800秒の音声ファイル)のダウンロードをcurlで計測
所要時間 12秒 、 平均速度 1128 Kbyte/sec と表示された。

考察

一般的に、スムースな音声再生一回線には、64k bit/sec(=8 k byte/sec) 必要とされる。
これを上記MP3ファイルサイズと再生時間で検証すると
  7,706 byte/sec(=13871348/1800) = 62k bit/sec
となり、64k bit/sec が妥当な数値であることがわかる。

したがって、このサーバーでは、最大で
    141(=1128/8) 人
が同時にMP3をスムースにダウンロード再生できる。

(実際は、WEBブラウザのバッファリングで改善されるだろうし、ユーザはやごく一部分の5分程度の再生のみで終わるから負荷は、ずっと軽い)

また、このMP3ファイルを一時間にダウンロードできる回数は、
  300(=3600/12) 回/一時間
となり、最大で300人まで一時間につき利用できる。

このMP3ファイルは、圧縮度が悪い。他のMP3ファイルは、 1800秒で、9MBぐらいのサイズ。 つまり、1.47(=13.2/9)倍楽である。つまり、1.5倍の余裕が期待できる。


No comments:

Post a Comment