This article provides troubleshooting steps when you receive a memory warning alert for Magento Commerce in New Relic. Immediate action is required to remedy the issue.
The alert will look something like the following, depending on the alert notification channel you selected.
Affected products and versions
All versions of Magento Commerce Cloud Pro.
You will receive an alert in New Relic if you have signed up to Managed alerts for Magento Commerce and one or more of the alert thresholds have been surpassed. These alerts were developed by Magento to give customers a standard set using insights from Support and Engineering.
- It is recommended you abort any deployment scheduled until this alert is cleared.
- Put your site into maintenance mode immediately if your site is or becomes completely unresponsive. For steps refer to DevDocs Installation Guide > Enable or disable maintenance mode. Make sure to add your IP to the exempt IP address list to ensure that you are still able to access your site for troubleshooting. For steps, refer to DevDocs Maintain the list of exempt IP addresses.
- Launch additional marketing campaigns which may bring additional pageviews to your site.
- Run indexers or additional crons which may cause additional stress on CPU or disk.
- Do any major administrative tasks (i.e., Magento Admin, data imports / exports).
- Clear your cache.
Follow these steps to identify and troubleshoot the cause.
- Use New Relic APM's Infrastructure page to identify top memory intensive processes. For steps, refer to New Relic Infrastructure monitoring Hosts page > Processes tab. If services like Redis or MySQL are the top source of memory consumption, try the following:
- Check that you are on the latest version. Newer versions can sometimes fix memory leaks. If you are not on the latest version, consider upgrading. For steps, refer to Magento Commerce Cloud > Services > Change Services.
- If you still cannot identify the source of increased memory consumption, check for MySQL issues like long running queries, Primary keys not defined, and duplicate indexes. For steps, refer to Most Common database Issues in Magento Commerce Cloud.
- If there are no MySQL issues, check for PHP issues. Review running processes by running
ps aufxin the CLI/Terminal. In the terminal output you will see cron jobs and processes that are currently being executed. Check the output for the processes' execution time. If there is a cron with a long execution time, the cron may be hanging. Refer to KB Slow performance, slow and long running crons and KB Cron job stuck in "running" status for troubleshooting steps.
- If you are still struggling to identify the source of the problem, use New Relic APM's Transaction page to identify transactions with performance issues:
- Sort transactions by ascending Apdex scores. Apdex refers to user satisfaction to the response time of your web applications and services. A low Apdex score can indicate a bottleneck (a transaction with a higher response time). Usually it is the database, Redis, or PHP. For steps, refer to New Relic View transactions with highest Apdex dissatisfaction.
- Sort transactions by highest throughput, the slowest average response time, most time-consuming, and other thresholds. For steps, refer to New Relic Find specific performance problems. If you are still struggling to identify the issue, use New Relic APM's Infrastructure page.