Ballerina Cloud Performance Stats

Purpose of the Framework

This performance framework was developed to get an idea of how Ballerina performance changes with nightly builds and how Ballerina performs compared to other languages in different use cases.

Test Execution for Hello World Sample
  1. Create a fresh single-node (standard_F4s_v2) Kubernetes cluster in Azure, and install Nginx Ingress.
  2. For each hello world sample in the `load-tests` directory;
    1. Deploy the application pod into the cluster (hello world sample with 1 CPU and 512MB memory resource limits).
    2. Deploy the JMeter pod, execute the benchmark, and then, commit the results to GitHub (concurrent users - 50).
    3. Clean up the application pod
  3. Clean up the cluster.
Performance Accuracy

A variance of 10% was observed due to infrastructure-related reasons in the worst-case between two test executions. The samples are very simple hello world applications and the language-specific optimizations have not been applied to any sample or deployment. This is only a high-level use case specific test designed to get rough numbers. These might not be the best numbers for the language. For the source code (and other artifacts) of the scenarios, see load tests.

Throughput (Req/sec)

Average Response Time (ms)

Standard Deviation of Response Time

99th Percentile of Response Time

Error Percentage