The Performance Model enables you to customize the performance of a service during simulation.
When you create a Virtual Service, Service Virtualization creates a Performance Model associated with it. This model is then available to learn the performance of the real service and can be customized to set specific performance rules either for the whole service, or its individual operations.
Each virtual service can have multiple performance models. Prior to a Learning session, in which real service behavior is recorded, you can select the performance model to which you want to save the learned behavior. Prior to simulation, you can select which model to use to mimic real service behavior, including non-customizable models to ignore the performance or simulate the unavailability of a service. For details on working with simulation models, see Manage Simulation Models.
You can manipulate virtual service performance using the following performance metrics:
Basic Performance Criteria
Set levels for the following performance criteria for specific operations of the service:
|Response Time [ms]||The time for the service to process a request and return a relevant response.|
|Threshold [hits/s]||The maximum number of requests and responses the service can process without any impact on performance.|
|Throughput Limit [MB/s]||The maximum data capacity the service can process.|
|Transaction Limit [transactions/s]||The maximum number of responses per second that the virtual service can send.|
Advanced Performance Criteria
In addition to the basic criteria, set levels for the following criteria for specific operations of the service:
|Tolerance [%]||The acceptable range of variation in performance for the operation.|
|Maximum Hits per Second||The maximum number of requests and responses the operation is allowed to process.|
|Maximum Response Time||The maximum time for a response at peak performance levels.|
There are a number of boosters available which you can use to manipulate some aspect of the service performance. Service Virtualization applies the selected boost to the relevant performance criteria during simulation.
The boosters include:
|CPU||CPU power multiplication factor. Impacts the response time of the service.|
|Network||Network throughput multiplication factor. Impacts the throughput limit.|
|Cluster||Scalability multiplication factor. Impacts all measures simultaneously - response time, hit rate, threshold, and throughput limit.|
|Expert||Multiplication factors for response time, hit rate, and throughput limit values. You can change each measure separately.|
Batch Simulation/Message Scheduling
To simulate a real service in which responses are delayed or postponed, you can create a schedule to determine when message responses are generated and sent from the virtual service to the client.
For example, users of a banking application may enter transactions during the day, but the transactions are not actually processed until the night. Or a user of an online shopping site may make a purchase where some part of order is out of stock. The application must hold onto the request until the item is available, and only then process the order.
To simulate the real service, consider these questions:
- When do you want to send the responses? At specific times? With a delay after requests are received?
- How many responses should be returned at once?
- Do you want to continue sending responses periodically at set intervals, or at specific times?
You can configure a message schedule to publish responses according to your answers.