Examples of Resource Estimation
Try your hand at some of the back-of-the envelop numbers in this lesson.
Introduction
Now that we have set the foundation for resource estimation let’s make use of our background knowledge to estimate resources like servers, storage, and bandwidth. Below, we consider a scenario and a service, make assumptions, and based on those assumptions, we will make estimations. Let’s jump right in.
Number of servers required
Let’s make the following assumptions about a service.
Assumptions:
- There are 500M Daily Active Users (DAU).
- A single user makes 20 requests per day on average.
- Recall that a single server can handle 8000 RPS.
Estimating Number of Servers
Daily active users (DAU) | 500 | M |
Requests on average / day | 20 | |
Total requests / day | f10 | Billion |
Totay requests / second | f115 | K |
Total servers required | f15 |
Indeed, the number above does not seem right (If we only needed 15 commodity servers to serve 500M daily users, why do big services use millions of servers in a data center). The primary reason is that the RPS is not enough to estimate the number of servers required to provide a service. Also, we made some underlying assumptions in the calculations above. One of the assumptions was that a request is handled by one server only. In reality, requests go through to web servers which may end up with application servers that will request data from storage servers. Each server may take a different amount of time to handle every request. Furthermore, each request may be handled differently depending upon the state of the data center, the application, and the request itself. Recall that we have a variety of servers for providing various services within a data center.
Therefore, we will approximate the number of servers by depicting how many clients a server will handle on a given day. i.e,
...
Create a free account to access the full course.
By signing up, you agree to Educative's Terms of Service and Privacy Policy