Choi-Sung-Hoon / CPL-20182-Team14

Performance comparison between a cloud load balancer and an external load balancer on Kubernates

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CPL-20182-Team14

This project is to research the performance of load balancer of Kubernetes on Google Cloud Flatform.

README: 한국어, English


Paper Topic

Performance comparison between a cloud load balancer and an external load balancer on Kubernetes.


Summary

This project deploys a web application on multiple nodes and compares performance of cloud load balancer and nginx load balancer using Kubernetes.

Kubernetes supports various features as an open source system for deploying, scaling and managing of container-based application.

This project researches on performance of load balancing.

We constructed 2 Kubernetes clusters which deploy WordPress web application on 3 nodes using Google Cloud Platform.

First cluster uses standard load balancer which Google Cloud Platform provides, setting Service type to LoadBalancer and second cluster uses load balancer from nginx which is web server application.

At last, we compared the performance of load balancing of each cluster using Apache Bench.


System Architecture

  • Cluster A

    Cluster(A) forms a group as LoadBalancer type with web application Pods via Label, it constructs load balancing environment using load balancer from Google Cloud Platform and exposes the service.

    Cluster_A

  • Cluster B

    Cluster(B) forms a group as NodePort type with web application Pods via Label, it uses nginx to balance loads to 3 nodes where web application runs.

    At last, it sets nginx application to LoadBalancer service and exposes.

    Cluster_B


Test Result

  • Google Cloud Platform load balancer: GCP_Load_Balancer

  • nginx Load balancer: image


  1. Result of sending 10000 times of requests to cluster (A), (B) using 16 of Java thread pools.

    Test_Result_1

  2. Result of sending 10000 times of requests to cluster (A), (B) using 64 of Java thread pools.

    Test_Result_2


Demo Video

About

Performance comparison between a cloud load balancer and an external load balancer on Kubernates


Languages

Language:PHP 59.5%Language:JavaScript 30.7%Language:CSS 9.7%Language:Java 0.1%Language:HTML 0.0%Language:Python 0.0%Language:Shell 0.0%Language:Dockerfile 0.0%