In this tutorial we'll be using the RouteGuide example service that is part of the gRPC repository.  In order to ensure that the service performs adequately, the (fictitious) product managers have defined the following performance requirements

 

  • The service on average will have 50 clients using it and each client interacts with the service once every second
  • The minimum response time of a method in the service is 300 msec. The maximum response time is 500 msec
  • The service will have a peak workload from 10 AM - 1 PM.  A maximum of 100 clients is connected to the service at this time.
  • The service will be up 24 hours a day and will be actively in use from 8 AM - 8 PM. 
  • Every 2 hours, the clients will connect the route guide service

 

In order to test this requirement.

Every 2 hours, the clients will connect the route guide service.

we'll create a Stress Test  with a Burst Load. We'll configure the clients to call the service every 2 hours for a duration of 15 min.  Please see Load Test Scenarios for a description of the various test scenarios

 

  1. Create the Performance Test
    (Click to enlarge)
  2. A Burst Load test scenario can be setup with either Constant Load or Incremental Load.   The important settings to configure are the Burst Interval and Burst Duration.  Burst Interval defines the interval between bursts. For this tutorial, the interval is 2 hours (or 7200 seconds).  Burst Duration is the length of each burst.  

     
    Click to enlarge

  3. Configure the request message
    (Click to enlarge)

     
  4. Now you're ready to run the test!  Click the run button ( )

 

Here's an example GIF that, in general, shows the steps to configure and run a performance test

(Click to enlarge)