Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
check-circle

GitHub Action

Performance Testing with Meshery

v0.2.0

Performance Testing with Meshery

check-circle

Performance Testing with Meshery

Run performance tests in SMP format with Meshery

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Performance Testing with Meshery

uses: layer5io/[email protected]

Learn more about this action in layer5io/meshery-performance-action

Choose a version

Meshery - SMP GitHub Action

GitHub Action to run SMP Performance Benchmarks on CI/CD pipelines.

Meshery is the canonical implementation of the Service Mesh Performance specification.

Learn More

Supported Service Meshes

Meshery supports 10 different service meshes.

See all Supported Service Meshes

Usage

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.

SMP Compatible Test Configuration File

# 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

Sample configuration

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

Join the service mesh community!

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

Find your MeshMate

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.




 

Layer5 Service Mesh Community

Layer5 Service Mesh 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.