| Operation |
|
|
|
notable | 1Bx |
|---|---|---|---|---|---|
| L1 cache reference | |||||
| Branch mispredict | |||||
| L2 cache reference | 14x L1 cache | ||||
| Mutex lock/unlock | |||||
| Main Memory reference | 20x L2 cache, 200x L1 cache | ||||
| Compress 1K bytes with Zippy | |||||
| Send 1K bytes over 1Gbps net | |||||
| Read 4K randomly from SSD |
|
||||
| Read 1MB sequentially from Mem |
|
||||
| Round trip within same datacenter | |||||
| Read 1MB sequentially from SSD |
|
||||
| Read DB row from cache | |||||
| Read DB row from disk | |||||
| Write DB row | |||||
| Disk seek | 20x datacenter roundtrip | ||||
| Read 1MB sequentially from Disk |
|
||||
| Send pack et CA->Netherlands->CA |
Note
The 1Bx column represents the values multiplied by 1 billion, to help mentally visualize the scale and proportions.
- Average server GOOD/BAD response time:
$~250ms - ~1.5s$ - Average server requests:
$1k/sec - 10k/sec$ - Dependent on what it does -
Internet users:
$\approx5.5B$ - Average internet user daily internet:
$\approx2.5h$ - Average size of internet packets:
$\approx1.5KB$ - Average network bandwidth modern server:
$\approx25\ Gbps$
| % | Downtime/day | Downtime/week | Downtime/month | Downtime/year |
|---|---|---|---|---|
|
|
|
|
|
|---|---|---|---|
| Configuration Type | ops/sec | read/write latency | notable |
|---|---|---|---|
| Single Instance | Not really relevant, as rarely one would deploy a single instance in production | ||
| Cluster Scaling (N instances) |
|
theoretically unbounded, but adds |
|
| Redis Labs benchmark |
Redis Labs press release documents reaching |
| Configuration Type | transactions/sec | read latency | write latency | large tables JOIN
|
|---|---|---|---|---|
| Modern single Servers | ||||
| Replication, partitioning, indexing, connection pooling |
| Configuration type | rec/sec | Bytes/sec |
|---|---|---|
| Single Broker | ||
| Typical production Cluster |
| Configuration type | msg/sec | notable |
|---|---|---|
| Standard | Unlimited: millions of msg/sec | |
| FIFO | Range depends on the use of batching (dramatically improves performance) |
| Configuration type | writes/sec | latency | |
|---|---|---|---|
| on-demand | Auto-scaling, partitioned; effectively unlimited if no hot partitions. |
Originally by Peter Norvig: http://norvig.com/21-days.html#answers