Giter VIP home page Giter VIP logo

ballerina-performance's Introduction

ballerina-performance

Summary of performance test results

The following is the summary of performance test results collected for the h1-h1-passthrough scenario.

Number of concurrent users: 100
Loop count: 10000
Protocol: https
Ramp-up period: 60s

Version Message Size (Bytes) Average Response Time (ms) Standard Deviation of Response Time (ms) Error % Throughput (Requests/sec) Throughput (KB/s) build time (ms) JAR size (MB)
2201.0.0 1024 83 58.26 0.00% 1113.6 1253.87 13260 27.7
slbeta6 1024 87 75.30 0.00% 1094.3 1232.18 14453 29.8
slbeta3 1024 94.5 67.52 0.00% 1007.9 1134.89 14310 29.5
v1.2.23 1024 133.34 85.16 0.00% 718.37 808.89 38438 26.7

Setting up the performance test environment in local machine

Prerequisites

  1. Download and install docker, minikube and Kubernetes.
  2. Start a K8s cluster locally with Minikube
    $ minikube start
    

Setting up and run Netty HTTP echo server

(Use the docker image of a netty http echo backend from https://hub.docker.com/r/ldclakmal/netty-echo-backend)

  1. Run the docker image
    $ docker run -d -p 8688:8688 -e "SSL=true" ldclakmal/netty-echo-backend:latest
    
  2. Deploy netty backend to K8s (use the YAML file provided in ballerina-performance/deployment-netty-backend).
    $ kubectl apply -f ./deployment-netty-backend/netty-backend.yaml
    

Building the source with specific version and deploy it to K8s.

  1. To build test scenario source
    $ bal build
    
    (eg. to build the h1-h1-passthrough program with beta3, navigate to the ./ballerina-slbeta3/h1-h1-passthrough/src and execute $ bal build command)
  2. To build and push the docker image
    $ docker build -t <DOCKER_USERNAME>/passthrough_beta3:latest target/docker/passthrough_beta3
    $ docker push <DOCKER_USERNAME>/passthrough_beta3:latest
    
  3. To deploy the https passthrough service to K8s
    $ kubectl apply -f ./target/kubernetes/passthrough_beta3  
    $ kubectl expose deployment passthrough-bet-deployment --type=NodePort --name=passthrough-bet-svc-local  
    
  4. To test the backend echo service
    $ curl -kv https://localhost:8688/service/EchoService -d '{"size":"50B","payload":"0123456789ABCDEFGHIJKLM"}'
    
  5. To test the passthrough service
    $ curl -kv -X POST https://localhost:<NodePort>/passthrough -d '{"size":"50B","payload":"0123456789ABCDEFGHIJKLM"}'
    
  6. To run the load test using JMeter
    $ jmeter -n -t ./resources/jmeter/http-post-request.jmx -l results.jtl -Jusers=100 -Jduration=1800 -JrampUpPeriod=60 -Jhost=localhost -Jport=<NodePort> -Jprotocol=https -Jpath=passthrough -Jpayload="./resources/payload/1024B.json" -Jresponse_size=1024
    

ballerina-performance's People

Contributors

gabilang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.