IP Library Granted Patent US 11,698,797
Granted Patent B2
US 11,698,797 · App. 17/365,787 · Granted Jul 11, 2023

Application tuning based on performance characteristics

Inventor: Harish Kumar Somisetty (Bangalore, IN)
Assignee: MICRO FOCUS LLC
G06F9/44505G06F8/656G06F11/302G06F11/3428
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,698,797
App. No.
17/365,787
Granted
Jul 11, 2023
Kind
B2
Abstract

According to examples, an apparatus may include a processor and a memory on which are stored machine-readable instructions that when executed by the processor, may cause the processor to receive information regarding a performance characteristic of an application during predetermined time periods. The processor may calculate a rate of change in the performance characteristic over the predetermined time periods. Based on a determination that the performance characteristic of the application has changed over the predetermined time periods, the processor may tune values of a set of parameters for the application based on the calculated rate of change in the performance characteristic.

Claims (76)

1. An apparatus comprising:

a processor; and

a memory on which are stored machine-readable instructions that when executed by the processor, cause the processor to:

receive information regarding a performance characteristic of an application during predetermined time periods, the performance characteristic being associated with a number of occurrences of an event of the application;

maintain event counts comprising the number of occurrences of the event of the application during each of the predetermined time periods;

calculate a rate of change in the maintained event counts over the predetermined time periods; and

based on a determination that the calculated rate of change in the maintained event counts associated with the performance characteristic of the application has decreased over the predetermined time periods,

tune values of a set of parameters for the application by decreasing the values of the set of parameters for the application in proportion to a decrease in the calculated rate of change in the maintained event counts associated with the performance characteristic,

wherein the application is executed based on the tuned values of the set of parameters for the application.

2. The apparatus of claim 1 , wherein the instructions cause the processor to:

based on the tuned values of the set of parameters for the application, allocate resources correlated to the performance characteristic in proportion to the calculated rate of change in the event counts associated with the performance characteristic.

3. The apparatus of claim 1 , wherein the instructions cause the processor to:

maintain a first event count for a number of occurrences of the event in the application during a first time period among the predetermined time periods and a second event count for a number of occurrences of the event in the application during a second time period among the predetermined time periods;

calculate the rate of change in the maintained event counts of the event occurring in the application over the predetermined time periods based on a change between the first event count for the number of occurrences of the event in the application during the first time period and the second event count for the number of occurrences of the event in the application during the second time period; and

increase or decrease the values of the set of parameters for the application in proportion to the calculated rate of change in the maintained event counts of the event occurring in the application during the predetermined time periods based on the change between the first event count for the number of occurrences of the event in the application during the first time period and the second event count for the number of occurrences of the event in the application during the second time period.

4. The apparatus of claim 1 , wherein the instructions cause the processor to:

based on a determination that the calculated rate of change in the maintained event counts associated with the performance characteristic of the application has increased over the predetermined time periods, tune the values of the set of parameters for the application by increasing the values of the set of parameters for the application in proportion to the increase in the calculated rate of change in the maintained event counts associated with the performance characteristic.

5. The apparatus of claim 1 , wherein the instructions cause the processor to:

in response to the values of the set of parameters for the application being tuned, receive second information regarding the performance characteristic of the application;

calculate a second rate of change in the event count associated with the performance characteristic; and

based on the calculated second rate of change in the event count associated with the performance characteristic being the same as the calculated rate of change in the event count associated with the performance characteristic, tune values for a second set of parameters for the application in proportion to the calculated second rate of change in the event count associated with the performance characteristic, the second set of parameters for the application being different than the set of parameters for the application.

6. The apparatus of claim 1 , wherein the instructions cause the processor to:

apply the tuned values of the set of parameters for the application without an application restart.

7. The apparatus of claim 1 , wherein the instructions cause the processor to:

based on a determination that the set of parameters for the application requires an application restart to apply changes to the values of the set of parameters for the application,

change the values of the set of parameters in a configuration file associated with the set of parameters for the application; and

output a notification to restart the application.

8. The apparatus of claim 1 , wherein the information regarding the performance characteristic includes information for a type of performance characteristic including a number of caching events during each of the predetermined time periods, an amount of time to load content, information regarding temporary file sizes that are allocated, a rate of incoming events, CPU usage, cache utilization percentage, or a combination thereof, and the set of parameters for the application includes a number of threads for the application, a size of memory allocated for the application, a batch size, a batch timeout value, CPU allocation, a size of cache allocated, a number of web servers allocated, or a combination thereof, and the instructions cause the processor to:

calculate the rate of change in the maintained event counts associated with the type of performance characteristic during each of the predetermined time periods; and

change the number of threads for the application, the size of memory allocated for the application, the batch size, the batch timeout value, the CPU allocation, the size of cache allocated, the number of web servers allocated, or a combination thereof, in proportion to the calculated rate of change in the maintained event counts associated with the type of performance characteristic during each of the predetermined time periods.

9. A method comprising:

detecting, by a processor, a plurality of events of an application, a number of occurrences of the plurality of events of the application being associated with a performance characteristic of the application;

maintaining, by the processor, event counts comprising the number of occurrences of the plurality of events of the application for predetermined time periods;

calculating, by the processor, a rate of change in the maintained event counts of the number of occurrences of the plurality of events of the application; and

based on a decrease in the calculated rate of change in the maintained event counts of the number of occurrences of the plurality of events of the application, tuning, by the processor, values of a set of parameters for the application by decreasing the values of the set of parameters for the application in proportion to the decrease in the calculated rate of change in the maintained event counts of the number of occurrences of the plurality of events of the application, wherein the application is executed based on the tuned values of the set of parameters for the application.

10. The method of claim 9 , further comprising:

maintaining a first event count for a first number of occurrences of the event in the application during a first time period and a second event count for a second number of occurrences of the event in the application during a second time period;

calculating the rate of change in the number of occurrences of the plurality of events of the application based on a difference between the first event count for the first number of occurrences of the event in the application during the first time period and the second event count for the second number of occurrences of the event in the application during the second time period; and

increasing or decreasing the values of the set of parameters for the application in proportion to the calculated rate of change in the number of occurrences of the plurality of events of the application based on the difference between the first event count for the first number of occurrences of the event in the application during the first time period and the second event count for the second number of occurrences of the event in the application during the second time period.

11. The method of claim 9 , further comprising:

based on an increase in the calculated rate of change in the maintained event counts of the number of occurrences of the plurality of events of the application, tuning the values of the set of parameters for the application by increasing the values of the set of parameters for the application in proportion to the increase in the calculated rate of change in the maintained event counts of the number of occurrences of the plurality of events of the application.

12. The method of claim 9 , further comprising:

in response to the values of the set of parameters for the application being tuned, detecting a second plurality of events of the application;

calculating a second rate of change in a number of occurrences of the second plurality of events of the application;

determining whether the calculated second rate of change in the number of occurrences of the second plurality of events is different than the calculated rate of change in the maintained event counts of the number of occurrences of the plurality of events of the application; and

based on a determination that the calculated second rate of change in the number of occurrences of the second plurality of events of the application is the same as the calculated rate of change in the maintained event counts of the number of occurrences of the plurality of events of the application, tuning values for a second set of parameters for the application in proportion to the calculated second rate of change in the number of occurrences of the plurality of events of the application, the second set of parameters for the application being different than the set of parameters for the application.

13. The method of claim 9 , further comprising:

applying the tuned values for the set of parameters for the application without first restarting the application.

14. The method of claim 9 , further comprising:

based on a determination that the set of parameters for the application requires an application restart to apply changes to the set of parameters for the application,

changing the values of the set of parameters for the application in a configuration file associated with the set of parameters for the application; and

outputting a notification to restart the application.

15. The method of claim 9 , wherein detecting the plurality of events of the application includes detecting a type of the plurality of events including caching events during predetermined time periods, an amount of time to load content, temporary file sizes that are allocated, a rate of incoming events, a CPU usage value, a cache utilization percentage, or a combination thereof, and

the set of parameters for the application includes a number of threads for the application, a size of memory allocated for the application, a batch size, a batch timeout value, CPU allocation, a size of cache allocated, a number of web servers allocated, or a combination thereof, the method further comprising:

calculating the rate of change in occurrences of the detected type of the plurality of events of the application during each of the predetermined time periods; and

changing the number of threads for the application, the size of memory allocated for the application, the batch size, the batch timeout value, the CPU allocation, the size of cache allocated, the number of web servers allocated, or a combination thereof, in proportion to the calculated rate of change in occurrences of the detected type of the plurality of events of the application.

16. The method of claim 9 , further comprising:

based on a determination that the calculated rate of change in the maintained event counts of the number of occurrences of the plurality of events of the application is decreasing by a first rate, decreasing a value of a parameter among the set of parameters by a first amount that correlates to the first rate; and

based on a determination that the calculated rate of change in the maintained event counts of the number of occurrences of the plurality of events of the application is decreasing by a second rate that is greater than the first rate, decreasing the value of the parameter among the set of parameters by a second amount that correlates to the second rate.

17. A non-transitory computer-readable medium on which is stored machine-readable instructions that, when executed by a processor, cause the processor to:

detect events of an application, the events being associated with a performance characteristic of the application;

identify levels associated with the events of the application for predetermined time periods, the identified levels being correlated to a number of occurrences of the event of the application during each of the predetermined time periods;

calculate a rate of change in the identified levels associated with the events of the application over the predetermined time periods; and

tune values of a set of parameters for the application in proportion to the calculated rate of change in the identified levels associated with the events of the application over the predetermined time periods by decreasing the values of the set of parameters for the application in proportion to the decrease in the calculated rate of change in the identified levels associated with the events of the application based on a decrease in the calculated rate of change in the identified levels associated with the events of the application, wherein the application is executed based on the tuned values of the set of parameters for the application.

18. The non-transitory computer-readable medium of claim 17 , wherein the instructions cause the processor to:

based on an increase in the calculated rate of change in the identified levels associated with the events of the application, tune the values of the set of parameters for the application by increasing the values of the set of parameters for the application in proportion to the increase in the calculated rate of change in the levels associated with the events of the application.

19. The non-transitory computer-readable medium of claim 17 , wherein the instructions cause the processor to:

in response to the values for the set of parameters for the application being tuned, detect second events of the application, the second events being associated with the performance characteristic of the application;

calculate a second rate of change in levels associated with the second events of the application; and

based on the calculated second rate of change in the levels associated with the second events of the application being the same as the calculated rate of change in the levels associated with the events of the application, tune values of a second set of parameters for the application in proportion to the calculated second rate of change in the levels associated with the second events of the application, the second set of parameters for the application being different than the set of parameters for the application.

20. The non-transitory computer-readable medium of claim 17 , wherein the instructions cause the processor to:

based on a determination that the set of parameters for the application does not require an application restart to apply changes to the set of parameters for the application,

apply the tuned values of the set of parameters for the application without the application restart; and

based on a determination that the set of parameters for the application requires the application restart to apply changes to the set of parameters for the application,

change the values for the set of parameters in a configuration file associated with the set of parameters for the application; and

output a notification to restart the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2021
From: SOMISETTY, HARISH
To: MICRO FOCUS LLC
Reel/Frame 058182/0409 →
Continuity (1)
Related Publication 20230004403A1 · Jan 5, 2023