...

/

Copy of Examples of Resource Estimation

Copy of 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)500M
Requests on average / day20
Total requests / dayf10Billion
Totay requests / secondf115K
Total servers requiredf15

Indeed, the number above does not seem right (If we only needed 15 commodity servers to server 500M daily users, why big services use millions of servers in a data center). The primary reason is that the QPS 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 on handling 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,

Number of daily active usersRPS of a server\frac{Number\ of\ daily\ active\ users}{RPS\ of\ a\ server} ...

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy