Efficient network services with performance lag prediction and prevention
Embodiments of the present disclosure relate to predicting and preventing performance lag of virtual network appliances. Embodiments include determining a benchmark score for a virtual appliance running on a computing device. Embodiments include providing the benchmark score and one or more virtual appliance settings of the virtual appliance as inputs to a trained predictive model and receiving a predicted performance value as an output from the trained predictive model. Embodiments include using the predicted performance value to perform one or more actions.
1. A method for predicting and preventing performance lag of virtual network appliances, comprising:
determining a benchmark score for a virtual appliance running on a computing device;
providing the benchmark score and one or more virtual appliance settings of the virtual appliance as inputs to a trained predictive model;
receiving a predicted performance value as an output from the trained predictive model; and
based on the predicted performance value, performing one or more actions, at least one of which is selected from the following list:
generating a notification related to the virtual appliance;
migrating the virtual appliance from a first host to a second host; or
modifying a resource allocation amount related to the virtual appliance.
2. The method of claim 1 , wherein determining the benchmark score for the virtual appliance running on the computing device comprises:
using the virtual appliance to perform a series of operations on the computing device, wherein performing the series of operations comprises one of:
performing a series of encryption or decryption operations; or performing a series of network interface controller (NIC) operations; and
determining the benchmark score based on a rate at which the series of operations are completed.
3. The method of claim 1 , wherein determining the benchmark score for the virtual appliance running on the computing device comprises using a benchmark model to determine the benchmark score.
4. The method of claim 3 , wherein using the benchmark model comprises:
determining a resource reservation amount for the virtual appliance; and
identifying the benchmark score associated with the resource reservation amount in the benchmark model.
5. The method of claim 3 , wherein the benchmark model comprises mappings between resource ranges and benchmark scores that were calculated at deployment time of the virtual appliance.
6. The method of claim 1 , wherein the one or more virtual appliance settings of the virtual appliance are selected from the following list: an algorithm; a number of subnets; a number of tunnels; and an amount of bandwidth.
7. The method of claim 1 , wherein the trained predictive model has been trained using historical performance metrics measured at different virtual appliance settings and with different benchmark scores.
8. A non-transitory computer readable medium comprising instructions to be executed in a computer system, wherein the instructions when executed in the computer system perform a method for predicting and preventing performance lag of virtual network appliances, the method comprising:
determining a benchmark score for a virtual appliance running on a computing device;
providing the benchmark score and one or more virtual appliance settings of the virtual appliance as inputs to a trained predictive model;
receiving a predicted performance value as an output from the trained predictive model; and
based on the predicted performance value, performing one or more actions, at least one of which is selected from the following list:
generating a notification related to the virtual appliance;
migrating the virtual appliance from a first host to a second host; or
modifying a resource allocation amount related to the virtual appliance.
9. The non-transitory computer readable medium of claim 8 , wherein determining the benchmark score for the virtual appliance running on the computing device comprises:
using the virtual appliance to perform a series of operations on the computing device, wherein performing the series of operations comprises one of:
performing a series of encryption or decryption operations; or
performing a series of network interface controller (NIC) operations; and
determining the benchmark score based on a rate at which the series of operations are completed.
10. The non-transitory computer readable medium of claim 8 , wherein determining the benchmark score for the virtual appliance running on the computing device comprises using a benchmark model to determine the benchmark score.
11. The non-transitory computer readable medium of claim 10 , wherein using the benchmark model comprises:
determining a resource reservation amount for the virtual appliance; and
identifying the benchmark score associated with the resource reservation amount in the benchmark model.
12. The non-transitory computer readable medium of claim 10 , wherein the benchmark model comprises mappings between resource ranges and benchmark scores that were calculated at deployment time of the virtual appliance.
13. The non-transitory computer readable medium of claim 8 , wherein the one or more virtual appliance settings of the virtual appliance are selected from the following list: an algorithm; a number of subnets; a number of tunnels; and an amount of bandwidth.
14. The non-transitory computer readable medium of claim 8 , wherein the trained predictive model has been trained using historical performance metrics measured at different virtual appliance settings and with different benchmark scores.
15. A computer system, wherein system software for the computer system is programmed to execute a method for predicting and preventing performance lag of virtual network appliances, the method comprising:
determining a benchmark score for a virtual appliance running on a computing device;
providing the benchmark score and one or more virtual appliance settings of the virtual appliance as inputs to a trained predictive model;
receiving a predicted performance value as an output from the trained predictive model; and
based on the predicted performance value, performing one or more actions, at least one of which is selected from the following list:
generating a notification related to the virtual appliance;
migrating the virtual appliance from a first host to a second host; or
modifying a resource allocation amount related to the virtual appliance.
16. The computer system of claim 15 , wherein determining the benchmark score for the virtual appliance running on the computing device comprises:
using the virtual appliance to perform a series of operations on the computing device, wherein performing the series of operations comprises one of:
performing a series of encryption or decryption operations; or
performing a series of network interface controller (NIC) operations; and
determining the benchmark score based on a rate at which the series of operations are completed.
17. The computer system of claim 15 , wherein determining the benchmark score for the virtual appliance running on the computing device comprises using a benchmark model to determine the benchmark score.
18. The computer system of claim 17 , wherein using the benchmark model comprises:
determining a resource reservation amount for the virtual appliance; and
identifying the benchmark score associated with the resource reservation amount in the benchmark model.
19. The computer system of claim 17 , wherein the benchmark model comprises mappings between resource ranges and benchmark scores that were calculated at deployment time of the virtual appliance.
20. The computer system of claim 15 , wherein the one or more virtual appliance settings of the virtual appliance are selected from the following list: an algorithm; a number of subnets; a number of tunnels; and an amount of bandwidth.