Nginx has been widely adopted as a high performance Web server for websites that service very high traffic and throughput. Its low memory footprint and high concurrency make it ideal for hosting such websites. Nginx can also be configured to work as a HTTP cache, software load balancer, and reverse proxy for HTTP, HTTPS, IMAP, POP3, and SMTP protocols. Nginx’s variety of uses makes it attractive for widespread deployment.
In order to ensure that an Nginx server performs adequately, Nginx monitoring can be implemented to instrument the Nginx server’s performance metrics. For complex Nginx configurations, Nginx performance monitoring is especially important to validate the configuration settings that enable Nginx servers to meet expected service loads. To generate large and variable test loads to validate the configuration settings of each Nginx server, a load testing website can be used.
Rudimentary monitoring of Nginx servers does not provide a comprehensive set of performance metrics to depict the entire Nginx service delivery chain. With gaps in measured performance data, any detected problems cannot be fully understood and remedied. Effective Nginx monitoring requires continuous end-to-end coverage to gather the following information:
Dynatrace provides comprehensive monitoring of Nginx through end-to-end monitoring of user transactions that are serviced by Nginx. Dynatrace delivers visibility into user activity, application execution, and database queries within each transaction. For example, through PHP performance monitoring, execution time of each PHP method can be observed. And, through a SQL monitor, query times for each SQL query can be extracted. Dynatrace also supports virtualization monitoring. For Nginx servers that service requests into virtual environments such as Citrix, Dynatrace Nginx monitoring can provide end-to-end transaction visibility.