Skip to content

Application Performance Monitoring

Nick Zaev edited this page Jun 7, 2022 · 4 revisions

Application Performance Monitoring

Tempesta FW dynamically monitors upstream server performance and using machine learning algorithms predicts how that performance will change in the near future. Adaptive load balancing leverages that data to forward client requests to the server that has, or is expected to have, the smallest workload.

Tempesta FW measures the delays between when client requests are forwarded to the upstream server and the server response. That data is collected and analyzed via Application Performance Monitoring module (APM) which is used to measure turnaround time (to server and back) of HTTP message. Also minimum, maximum, median, and average times are calculated, as well as 50th, 75th, 90th, 95th, and 99th percentiles. APM module has two configuration parameters, which could be specified via following directive:

apm_stats <timeframe> <scale>;
  • <timeframe> is a time window (in seconds) for which statistics specified above are calculated; default value: 300, minimum: 60, maximum: 3600.
  • <scale> is a granularity of data calculation (count of intervals in specified time window); default value: 5, minimum: 1, maximum: 50.

Example:

apm_stats 500 20;

The data generated by APM module is measured per each server and used for server's weight calculation in load balancing (see ratio scheduler on load balancing page) and for displaying per-server statistics (see below). So, system administrators can monitor online statistics for each backend server.

Clone this wiki locally