つくる 規模シート
5つの数字を1本の線でつなぐ
この章で5つのものを出しました。MAU、平均 QPS、ピーク QPS、保存量、転送量です。
今回は新しいことを覚えません。これまでの計算を順につなぐだけです。
つなぐ理由は、前の答えが次の入力になるからです。順番を間違えると、全部ずれます。
あります。台数はピーク QPS から出しますが、ピーク QPS は平均 QPS から出ます。
平均 QPS を出す前に台数を決めることはできません。計算には向きがあります。
0台という構成は無い
平均 QPS が0でも、サーバーは1台要ります。
利用者が1日500人なら平均は0 QPS ですが、0台では誰も予約できません。
Python
# 切り上げた結果が0台になっても、最低1台にする計算は正しく、答えが間違っています。
割り算が答えるのは「何台ぶんの負荷か」で、聞いているのは「何台用意するか」です。式が答えない部分は、こちらで決めます。
これは後の章でも何度も出てきます。数字は判断の材料で、判断そのものではありません。
演習
席の予約サービスの条件をまとめて受け取り、規模シートを1つの辞書で返します。
要件
- requests_per_day は dau × requests_per_user、average_qps は それを86400で割って四捨五入した整数
- peak_qps は average_qps × peak_ratio。servers は peak_qps ÷ qps_per_server を切り上げた数。ただし0台という構成は無いので最低1台にする
- storage_mb は rows_per_day × bytes_per_row × days の MB 整数部分、peak_mbps は peak_qps × response_bytes × 8 ÷ 1000000 の整数部分
ヒント
編集 ゆめさく編集部