{"id":19978891,"url":"https://github.com/ldclakmal/ballerina-http-test-suite","last_synced_at":"2026-04-15T16:03:02.555Z","repository":{"id":95476599,"uuid":"195940910","full_name":"ldclakmal/ballerina-http-test-suite","owner":"ldclakmal","description":"Ballerina HTTP test-suite, which is used to execute performance tests for Ballerina programming language.","archived":false,"fork":false,"pushed_at":"2021-10-18T02:29:21.000Z","size":8009,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-01T19:25:03.159Z","etag":null,"topics":["ballerina","ballerina-lang","docker","http","jmeter","netty","performance"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ldclakmal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-09T05:49:11.000Z","updated_at":"2021-10-18T02:29:24.000Z","dependencies_parsed_at":"2023-04-05T11:04:10.859Z","dependency_job_id":null,"html_url":"https://github.com/ldclakmal/ballerina-http-test-suite","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ldclakmal/ballerina-http-test-suite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldclakmal%2Fballerina-http-test-suite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldclakmal%2Fballerina-http-test-suite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldclakmal%2Fballerina-http-test-suite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldclakmal%2Fballerina-http-test-suite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ldclakmal","download_url":"https://codeload.github.com/ldclakmal/ballerina-http-test-suite/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldclakmal%2Fballerina-http-test-suite/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269713884,"owners_count":24463244,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ballerina","ballerina-lang","docker","http","jmeter","netty","performance"],"created_at":"2024-11-13T03:35:43.821Z","updated_at":"2026-04-15T16:03:02.496Z","avatar_url":"https://github.com/ldclakmal.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ballerina HTTP Test Suite\n\nThis is an HTTP test suite which contains guide and all resources to execute performance tests for Ballerina in a local machine or VM.\n\n### Resources\n- [JMeter](https://jmeter.apache.org/) scrips\n- [Netty](https://netty.io/) backend\n- Sample JSON payloads\n\n## Setup\n\nFirst you have to create 3 instances (VMs/Physical Machines) for JMeter, Ballerina and Netty. Alternatively, you can run all in single instance.\n\n### JMeter\n\n- Download and install [Apache JMeter](https://jmeter.apache.org/).\n- Start JMeter of GUI Mode. Refer [Getting Started](https://jmeter.apache.org/usermanual/get-started.html) for more information.\n- Import and use the [JMX](./jmeter/) files for HTTP1.1 or HTTP2.0 as required.\n\n### Ballerina\n\n- Download and install [Ballerina](https://ballerina.io/).\n- Run the particular [gateway](https://github.com/ballerina-platform/ballerina-performance/tree/master/distribution/scripts/ballerina/bal) *.bal* files by executing following command.\n\n    `$ bal run \u003cfile_name.bal\u003e`\n\n### Netty\n\n- Download and install [Docker](https://www.docker.com/).\n- Run the Docker image of Netty Echo Backend as required.\n\n    - h1c - `$ docker run -d -p 8688:8688 ldclakmal/netty-echo-backend`\n    - h1 - `$ docker run -d -p 8688:8688 -e \"SSL=true\" ldclakmal/netty-echo-backend`\n    - h2c - `$ docker run -d -p 8688:8688 -e \"HTTP2=true\" ldclakmal/netty-echo-backend`\n    - h2 - `$ docker run -d -p 8688:8688 -e \"HTTP2=true\" -e \"SSL=true\" ldclakmal/netty-echo-backend`\n\n- Refer the [Docker Hub Image](https://hub.docker.com/repository/docker/ldclakmal/netty-echo-backend) for more information.\n\n## Let's Start\n\nNow, you can start the JMeter with a single request to check whether the request-response path is properly configured.\n\n![JMeter Single Request](./jmeter/img/single-request.png)\n\nIf not, check the URLs and ports of JMeter, Ballerina Service and Netty Backend and figure out the issue.\n\nIf the response is received successfully, start the performance test with the required number of threads, ramp-up period and time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fldclakmal%2Fballerina-http-test-suite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fldclakmal%2Fballerina-http-test-suite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fldclakmal%2Fballerina-http-test-suite/lists"}