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.

The service will be up 24 hours a day and will be actively in use from 8 AM - 8 PM.

we'll create a Saturation Load Test Scenario. We'll create a test that ensures for 12H the service will be able to handle the max number of expected users.  Please see Load Test Scenarios for a description of the various test scenarios

 

  1. Create the Performance Test
    (Click to enlarge)
  2. A saturation test scenario can be setup with either Constant Load or Incremental Load but the important settings are the Test Duration and number of (virtual) users.  The duration should be setup to match to what is considered the "prolonged" period of sustained use of the maximum number of users.  For this particular RouteGuide Service example, it is 12 hours (43,200 seconds) of usage by 100 clients/users. 

     
    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)