Skip to content

SuhwanCha/msa-performance

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Performance evaluation based on L/B, autoscaling algorithm in Microservice Architecture (Capstone design Fall, 2021)

Overview

It is important to ensure high availability in running the service. Long service response times will increase the user's departure rate and reduce the service's reliability. However, in order to increase the availability of services, the necessary resources are increased and the costs are increased. Therefore, it is important to ensure high availability of services from the perspective of operating service, but to design to be less costly. In this work, I propose an optimal design method when operating a service with a microservice architecture. To evaluate the proposed design method, this work establishes and experiments with virtual user scenarios and service examples to measure the performance of the service.

Schedule

Contents March April May June Progress
Designing Project * * Link
Server Programming * * Link, Link2
Deployment * * pad.yaml
Evaluation * Final report

Results

  • Exp. A: Only Server registered

    • Avg. response time: 90ms
    • Error rate: 16.21%
    • Transaction: 1,185.4/sec
  • Exp. B-1: Use round robin

    • Avg. response time: 81ms
    • Error rate: 8.74%
    • Transaction: 1,206.4/sec
  • Exp. B-2: Use ResponseTimeWeighted Load Balancer

    • Avg. response time: 80ms
    • Error rate: 5.89%
    • Transaction: 1,227.1/sec
  • Exp. C-1: Server List Filtering by Response time

    • Avg. response time: 84ms
    • Error: 2.66%
    • Transaction: 1,178.4/sec
  • Exp. C-2: Server List Filtering by Recent Response time

    • Avg. response time: 73ms
    • Error rate: 1.04%
    • Transaction: 1,334.4/sec
  • Exp. C-3: Server List Filtering by Recent Response time, compare Server

    • Avg. response time: 73ms
    • Error rate: 0.92%
    • Transaction: 1,334.4/sec
  • Exp. C-4: Recent Response time Server List Filtering, Load Balancing to least reponse time

    • Avg. response time: 73ms
    • Error Rate: 0.83 %
    • Transaction: 1,340.0/sec

Conclusion

  • Performace: Kubernetes < Ribbon (default) <Customized Load Balancer
  • It is important to develop L/B algorithm for suit server situations to improve performace, and if not, the use of Load Balancer provided by Ribbon for Netflix Zuul is much better than Kubernetes Load Balancer.

Reports

About

Capstone design example for students

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 51.0%
  • Java 33.7%
  • Python 7.9%
  • Go 4.8%
  • Dockerfile 2.5%
  • C++ 0.1%