A computer-implemented method for improving a performance warning in a database management system, DBMS, comprising:
- collecting, by a processor of the DBMS, periodically a plurality of data samples concerning a plurality of performance counters of the DBMS, said performance counters comprising at least one of CPU usage and processor queue length,
- determining, by the processor of the DBMS, periodically one or more data points,
- wherein each data point represents a statistical characteristic of one of said performance counters, the statistical characteristic being one of average or peak value, and said statistical characteristic being determined based on a plurality of said data samples taken over a first time period, and storing said data points,
- based on a plurality of said data points, periodically determining and storing, by the processor of the DBMS, a trend point for each of a plurality of performance counter components, wherein the performance counter component represents a statistical characteristic of the respective performance counter, determined based on the plurality of data points stored over a second time period, wherein the performance counter component is selected from a group comprising slope, volatility, skewness and kurtosis,
- determining, by the processor of the DBMS, a current trend of each of the plurality of performance counter components based on a plurality of respective trend points,
- wherein the current trend comprises all trend points determined during the second time period, and wherein the second time period is longer than the first time period,
- determining, by the processor of the DBMS, a baseline trend for each of said plurality of performance counter components, wherein the baseline trend comprises a plurality of trend points of the respective performance counter component over a third time period, and wherein the third time period is longer than the second time period,
- comparing, by the processor of the DBMS, each determined current trend to the respective baseline trend,
- upon detecting a deviation of the current trend from the respective baseline trend that exceeds at least one threshold, categorizing, by the processor of the DBMS, the deviation into one of a plurality of severity classes selected from a group comprising a warning, an alert and a critical alert,
- providing, by the processor of the DBMS, an early warning of a possible future problem in the DBMS system based on number of said deviations concerning at least two different performance counter components of any single performance counter being categorized into at least one of said severity classes to improve early warning performance in the DBMS system,
- wherein the new trend point for the current trend is determined periodically based on all data points stored over duration of a sliding window having length of the second period,
- wherein the new trend point for the baseline trend is determined periodically based on all data points stored over duration of a sliding window having length of the third period, and
- in response to providing the early warning, increasing at least one capacity of a current host of the DBMS system, or moving the DBMS system to another host, for increasing capacity of the DBMS system for improving performance of the DBMS system with respect to the performance counter that caused the early warning.