Cloud Platform

Stack Metrics - Application Layer Metrics

For environments running on Cloud Next technologies, application layer utilization metrics have been converted to Cloud Capacity Units. All other metrics have been removed, but may be replaced at a later date.

Your application-layer infrastructure is responsible for processing the code for your application, including calls to the file system and database layers, and calls to external services your application may use to process data or add content to your websites.

Application metrics

Graph

Description

Requests count

Total number of requests made to Apache

CPU usage

CPU usage for each of the environment’s web infrastructure, as a percentage of the total available

Memory usage

Memory usage for each of the environment’s web infrastructure, as a percentage of the total available

Cron memory usage in MB

Memory usage by cron for each of the environment’s web infrastructure, in MB

PHP process count

Number of PHP processes in use for the website

Maximum PHP processes reached warnings

This warning is generated by PHP, and indicates that a request came in which PHP could not immediately handle.

Troubleshooting

Use the information in this section to help you troubleshoot application-related issues with your Cloud Platform application.

Requests count

Requests count indicates how many requests have bypassed Varnish® and hit Apache on your infrastructure, which could be for media files, theme files, or pages generated by your application. This data is useful primarily as context for when sudden changes are seen in other metrics. For example, if a spike in CPU, memory, or PHP processes is indicated but there is no associated spike in this metric, something other than traffic may be causing that behavior.

CPU and memory usage

These metrics can be used to determine how close to capacity your web-tier infrastructure is, and they are often impacted by traffic levels, cron activity, and calls to third-party services associated with cron jobs and web requests.

  • If the CPU or memory spikes are associated with traffic, increasing your application’s caching settings (which includes implementing or optimizing Memcache utilization) can significantly reduce CPU and memory consumption.

  • CPU or memory spikes may also be associated with frequent or resource-intensive cron jobs. Reducing the frequency or complexity of cron tasks can immediately reduce CPU and memory consumption.

  • Utilize an Application Performance Monitoring service (such as New Relic) to identify if the spikes in CPU or memory are associated with specific calls on your website. Optimizing the performance of specific pages can often reduce application CPU and memory utilization, especially if those pages are popular destinations for your end users. As an alternative, if external calls are utilizing all of your CPU or memory, create a Support ticket for assistance.

If it is determined that additional CPU or memory are required for your applications to remain performant, manually increase your infrastructure’s resource capacity or create a Support ticket to determine what options are available.

Cron memory usage in MB

This graph displays the amount of memory that is utilized by cron processes on your infrastructure at any given point in time. Spikes in memory utilization generally indicate when cron jobs are actively running. In general, cron jobs always run on the infrastructure with the lowest number in its name. Spikes in cron memory utilization can lead to spikes in the CPU or memory utilization of your infrastructure, especially when too many jobs are run concurrently, in rapid succession, or if the cron task is expected to complete too much work in a single job. If you notice that cron jobs are causing memory or CPU exhaustion on your infrastructure, attempt to reduce the amount of work assigned to that task, or consider modifying the frequency to minimize the impact of these tasks on the health of your application-tier infrastructure. Some Cloud Platform customers have access to dedicated infrastructure which have been reserved for cron-related activity. In this configuration, the health of the infrastructure does not impact web-related activity. However, if there are insufficient resources on the infrastructure to complete the cron jobs associated with your applications, the tasks may fail to run or finish properly.

PHP process count

PHP processes are the individual workers assigned to serve each page request which hits your web tier. Every process uses as much CPU as is needed to complete a page request, plus a portion of your infrastructure’s memory, up to the limit set by default on your infrastructure (often 128 MB) or set by code in your application’s settings.php file. This graph displays both the total number of PHP processes in your web tier infrastructure and the number of PHP processes used by the specific environment. On infrastructure with only one active environment, Cloud Platform will display only the total value. This data can be useful in conjunction with the “Maximum PHP processes reached” errors, the CPU usage, and the Memory usage graphs. If the “Maximum PHP processes reached” errors graph displays elevated warnings rates, but you are not near 100% memory utilization, your web-tier infrastructure or their environments may require manual retuning by Acquia Support. If you are experiencing elevated warning rates and high memory utilization, your infrastructure has reached capacity and will require either an upsize or the same previously noted mitigation steps.

“Maximum PHP processes reached” errors

This warning is generated by PHP, and indicates that a request came in which PHP could not immediately handle due to all available PHP processes being busy. When there are a few warnings per minute, performance is generally unaffected, but during high traffic periods, these can build up, causing uncached page requests to load more slowly. To reduce the frequency of these warnings, use the following methods: