The Ballerina performance analysis is done with Google Charts API simply for the demonstration purposes only. It compares the throughput, average response time, standard deviation of response time, 99th percentile of response time and error count for 8 different scenarios.
Dashboard: https://ldclakmal.me/ballerina-performance-analysis
The data which is used for this analysis can be found for each of the following Ballerina versions (public and internal releases) in the format of ‘md’ and ‘csv’.
This guide explains how to execute performance tests for Ballerina using AWS & Jenkins.
The following steps are only one time configurations. Once all the prerequisites are completed, you can start with the next section.
wso2-rnd-ipaas
with proper permissions.us-east-1
with the name ballerina-performance-artifacts
.ballerina_aws
and the format of pem
and download.ballerina-performance.key
file which is the SSH key file for the WSO2 Jenkins VM 192.168.114.17
.jdk-8u212-linux-x64.tar.gz
at Oracle Archives and SCP to WSO2 Jenkins VM.
$ scp -i ~/.ssh/ballerina-performance.key jdk-8u212-linux-x64.tar.gz ubuntu@192.168.114.17:/build/software/
apache-jmeter-5.1.1.tgz
at Apache JMeter Archives and SCP to WSO2 Jenkins VM.
$ scp -i ~/.ssh/ballerina-performance.key apache-jmeter-5.1.1.tgz ubuntu@192.168.114.17:/build/jenkins-home/workspace/ballerina-platform/resources
ballerina_aws.pem
which is created earlier and SCP to WSO2 Jenkins VM.
$ scp -i ~/.ssh/ballerina-performance.key ballerina_aws.pem ubuntu@192.168.114.17:/home/ubuntu/
$ scp -i ~/.ssh/ballerina-performance.key ballerina_aws.pem ubuntu@192.168.114.17:/
$ ssh -i ~/.ssh/ballerina-performance.key ubuntu@192.168.114.17
$ cd ~/.aws/
$ vim credentials
$ ssh -i ~/.ssh/ballerina-performance.key ubuntu@192.168.114.17
$ cd /build/jenkins-home/workspace/ballerina-platform/resources
$ curl -O https://dist.ballerina.io/downloads/<version>/ballerina-linux-installer-x64-<version>.deb
$ scp -i ~/.ssh/ballerina-performance.key ballerina-linux-installer-x64-<version>.deb ubuntu@192.168.114.17:/build/jenkins-home/workspace/ballerina-platform/resources
$ ssh -i ~/.ssh/ballerina-performance.key ubuntu@192.168.114.17
$ cd /build/jenkins-home/workspace/ballerina-platform/
$ ssh -i ~/ballerina_aws.pem ubuntu@<instance-public-ip>
$ $ ssh -i ~/private_key.pem ubuntu@<instance-private-ip>