封筒計算の後ろ
13220 ワード
イントロ
私はこのトピックはむしろ誤解を招くと常に複雑です.私は以下のバージョンを反対することはできませんが、より現実的な計算よりも簡素化され、それはまだあなたのインタビュープロセスで遭遇することができるものの99 %をカバーしている.
何を見積もるか
秒あたりのクエリ
rps - 1秒間に読み込む
wps - 1秒間に書き込む
ピークqps = qps * 2 (通常)
RW - read - write比
メッセージサイズ-指定しなかった場合のメッセージのサイズ
読み込みスループット- RPS *メッセージサイズ= nバイト/秒
書き込みスループット- WPS *メッセージサイズ= nバイト/秒
💡 スループットは実際にどれだけのデータが通過され、帯域幅がどれだけのデータを通過できるか(ネットワーク構成)
1 Gbpsのネットワーク帯域幅は125 MB/s
ストレージ-通常N年間のストレージ
レプリカストレージ-ストレージ
キャッシュストレージ-通常ストレージの
キャッシュレプリカストレージ-キャッシュストレージ
基本番号
24秒60 * 60 = 86400、約10 ^ 5
1のASCIレター
タイムスタンプ- 8バイト( 2 ^ 64 )
- 103 KB
106から1 MB
109グラム
1012 - 1 TB
1015 - 1 pb
1018 - 1 eb
二人の力
Power Exact Value Approx Value Bytes
---------------------------------------------------------------
7 128
8 256
10 1024 1 thousand 1 KB
16 65,536 64 KB
20 1,048,576 1 million 1 MB
30 1,073,741,824 1 billion 1 GB
32 4,294,967,296 4 GB
40 1,099,511,627,776 1 trillion 1 TB
プログラマが知っておくべき待ち時間
Latency Comparison Numbers
--------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 10,000 ns 10 us
Send 1 KB bytes over 1 Gbps network 10,000 ns 10 us
Read 4 KB randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
Read 1 MB sequentially from memory 250,000 ns 250 us
Round trip within same datacenter 500,000 ns 500 us
Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory
HDD seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip
Read 1 MB sequentially from 1 Gbps 10,000,000 ns 10,000 us 10 ms 40x memory, 10X SSD
Read 1 MB sequentially from HDD 30,000,000 ns 30,000 us 30 ms 120x memory, 30X SSD
Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms
Notes
-----
1 ns = 10<sup>-9</sup> seconds
1 us = 10<sup>-6</sup> seconds = 1,000 ns
1 ms = 10<sup>-3</sup> seconds = 1,000 us = 1,000,000 ns
レイテンシ番号に基づく便利なメトリクス
Read sequentially from HDD at 30 MB/s
Read sequentially from 1 Gbps Ethernet at 100 MB/s
Read sequentially from SSD at 1 GB/s
Read sequentially from main memory at 4 GB/s
6-7 world-wide round trips per second
2,000 round trips per second within a data center
見積もり?
推定例
あなたは毎日10万人のアクティブなユーザーを持っており、それぞれの平均と新しいデータは、1日あたり5回作成される1日あたり100読み込み要求を行います.
RPS = 10 m * 100/86400 = 12000 r/s
WPS = 10 M * 5/86400 = 580 W/s
ピークQPS = 24000
平均読取りメッセージサイズが50バイトで書かれたメッセージが1 KBであると仮定してみましょう.
AVGリードスループット50 * 12 * 10 ^ 3 = 60 kb/s
AVG書き込みスループット1 KB * 580 = 580 KB/s
ここでは、データ/メタデータなどの種類について考えることができます.
5年保管-10 M * 1 KB * 1日あたりの5時間*年365日* 5年= 91 TB * 3 = 300 TB.
あなたはホットデータのわずか10 %を持っていると仮定し、キャッシュとして20 %を使用することに合意した.
キャッシュストレージ- 10 % * 90 TB * 20 % * 3レプリカ= = 5.5 TB
Reference
この問題について(封筒計算の後ろ), 我々は、より多くの情報をここで見つけました https://dev.to/vladisov/back-of-the-envelope-calculation-4ealテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol