GitHub Action
Performance Testing with Meshery
GitHub Action to run SMP Performance Benchmarks on CI/CD pipelines.
Meshery is the canonical implementation of the Service Mesh Performance specification.
Meshery supports 10 different service meshes.
See all Supported Service Meshes
Service mesh adapters provision, configure, and manage their respective service meshes.
See action.yml
You can use this action by defining your test configuration in a performance profile in Meshery or write your test configurations in SMP compatible format (see example).
You can then pass in either of these to the action to run a performance test.
The results of the tests are updated on the Performance Management dashboard in Meshery.
See Performance Management with Meshery for detailed instructions on setting up Meshery and authenticating the GitHub Action.
# Test configuration file for running performance benchmarks
# See: https://docs.meshery.io/guides/performance-management#running-performance-benchmarks-through-mesheryctl
test:
smp_version: v0.0.1
# The name of the test
name: Load Test
labels: {}
# Test configuration to be defined here
clients:
- internal: false
load_generator: fortio
protocol: 1
connections: 2
rps: 10
headers: {}
cookies: {}
body: ''
content_type: ''
endpoint_urls:
- 'https://smp-spec.io'
duration: 60s
# Service mesh under test in Service Mesh Performance Spec format
# See: https://github.com/service-mesh-performance/service-mesh-performance/blob/master/protos/service_mesh.proto
mesh:
type: 3
See scheduled-benchmarks.yml and configurable-benchmark-test.yml for more sample configurations.
name: Meshery SMP Action
on:
push:
branches:
'master'
jobs:
performance-test:
name: Performance Test
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v2
with:
ref: 'perf'
- name: Deploy k8s-minikube
uses: manusa/[email protected]
with:
minikube version: 'v1.21.0'
kubernetes version: 'v1.20.7'
driver: docker
- name: Run Performance Test
uses: layer5io/meshery-smp-action@master
with:
provider_token: ${{ secrets.PROVIDER_TOKEN }}
platform: docker
profile_name: soak-test
Our projects are community-built and welcome collaboration. 👍 Be sure to see the Layer5 Community Welcome Guide for a tour of resources available to you and jump into our Slack!
MeshMates are experienced Layer5 community members, who will help you learn your way around, discover live projects and expand your community network. Become a Meshtee today!
Find out more on the Layer5 community.
✔️ Join any or all of the weekly meetings on community calendar.
✔️ Watch community meeting recordings.
✔️ Access the Community Drive by completing a community Member Form.
✔️ Discuss in the Community Forum.
Not sure where to start? Grab an open issue with the help-wanted label.