- Back to Home »
- Back of envelope estimation
Back-of-the-envelope
estimation:
This section explains how to estimate system capacity
or performance requirements?
Concepts:
Latency numbers:
Dr Deans Numbers
Best Practices:
• Memory is fast but the disk is slow.
• Avoid disk seeks if possible.
• Simple compression algorithms are fast.
• Compress data before sending it
over the internet if possible.
• Data centers are usually in
different regions, and it takes time to send data between them.
Availability numbers:
High availability is the ability of a system to be continuously
operational for a desirably long period of time. High availability is measured
as a percentage, with 100% means a service that has 0 downtime. Most services
fall between 99% and 100%.
A service level agreement (SLA) is a commonly used term for service
providers. This is an agreement between you (the service provider) and your
customer, and this agreement formally defines the level of uptime your service
will deliver. Cloud providers Amazon, Google and Microsoft set their SLAs at
99.9% or above. Uptime is traditionally measured in nines. The more the nines,
the better.
Example: Generate Image Results Page Of 30 Thumbnails:
Design 1 -
Serial
§ Read images serially. Do a disk seek. Read a 256K image and then go on to the next image.
§ Performance: 30 seeks * 10 ms/seek + 30 * 256K / 30 MB /s = 560ms
Design 2 - Parallel
§ Issue reads in parallel.
§ Performance: 10 ms/seek + 256K read / 30 MB/s = 18ms
§ There will be variance from the disk reads, so the more likely time is 30-60ms
Seek Time:
It is the time that is taken by the head of a disc to move from
one track to another track on a disk. Seek Time can vary a lot upon where the
head is present right now when the read/write request is sent, hence Average
Seek Time is used more widely. For a clearer picture, consider a
hard-disk of concentric circle called tracks, suppose you want to fetch
some data. Seek Time is the time need for the head to move from its current
track to the one where the data is present
Transfer Time:
Transfer time is the time taken to transfer the
data from the disk. It varies on the rotational speed of the disk, the faster a
disk rotates the faster we can read data and on the Number of bytes on one
track which can also be called the density of the disk, the more the faster we
can transfer data hence lower transfer time.