Download A Framework for Verifying Scalability and Performance of Cloud
Transcript
B assumes that for each agent (server) is capable of handling only one call (request). This does not match with computer networks, where computer is capable of handling multiple requests in the same time. Blocking value calculated by Erlang B is much higher than in the real situation. Load balancer uses as maximum 10 concurrent connections for each back-end server and excessive requests are dropped. This is M/M/n/n queue model and does not fit well with Erlang B. Second approach is to use server count and traffic rate in erlangs calculated by equation 6.3, this will give system utilization that is similar to the Linux 1 minute load. Equation 6.5 shows the way to calculate the blocking probability, that is similar to the results of experiment. If the value is under 0, it means no job is blocked and the value is assigned to 0, not to allow negative values. Using calculated blocking probability and lambda (see equation 6.6), equation gives how many requests will go through the system. Pb = 1 − scount scount =1− , if Pb < 0 : Pb = 0 E λ×h µ = (1 − Pb ) × λ (6.5) (6.6) In equation 6.5 the parameter scount is amount of servers and other parameters are the same as previously described. Using modified version of erlang formula it shows the similar results as the experiments does, thus making the calculation of revenue more precise. Figure 6.7 shows how the optimal maximum is calculated with revenue function. The revenue is increasing in the first section of the graph, because more jobs are going through the system and each job earns more money than there is a necessity to pay for engagement of additional servers. When the maximum is reached, adding more servers do not improve throughput and the revenue starts to decrease, as we have to pay more for the extra servers, but the income does not increase. Using for arrival rate 600 requests per second and other values are the same as shown in the table 6.1, the optimal maximum is achieved with 21 servers, meaning that at the peak, there needs to be at least 21 servers to accommodate the traffic. Hill-climbing method. It is an iterative algorithm that starts with an arbitrary solution to a problem, then attempts to find a better solution by incrementally changing a single element of the solution. If the change produces a better solution, an incremental change is made to the new solution, repeating until no further improvements can be found [21]. 100