Troubleshoot performance using New Relic on Adobe Commerce
In Adobe Commerce on cloud infrastructure, use New Relic to troubleshoot performance issues. This article also provides resources for further information and covers a low Apdex score, high CPU usage, high I/O operations, and an outage. To fix this, follow the troubleshooting steps and recommended resources for the relevant issue.
Description description
Environment
Adobe Commerce on cloud infrastructure.
Issue/Symptoms
- Low Apdex score. Your New Relic Apdex score measures users’ satisfaction with the response time of web applications and services. An Apdex score of 0.5 or less warrants investigation.
- High CPU usage. High CPU usage indicates a particularly busy service, such as MySQL or Redis.
- High I/O operations. I/O operations vary by customer and differ significantly from the average. Look for an unusual spike compared with previous average I/O operations.
- Outage. New Relic determines outages by Apdex. A red line appears on the Apdex score graph when Apdex is less than 0.4, which is considered an outage.
Resolution resolution
Follow these steps to troubleshoot performance issues using New Relic:
Your New Relic Apdex score measures users’ satisfaction with the response time of your web applications and services.
Log in to New Relic > APM > Overview. On the right side of the Overview page, you see the Apdex score graph. An Apdex score of 0.5 or less is a point of concern and warrants investigation.
Web-transaction times (server requests):
-
Log in to New Relic
>APM>Select an app>Overview. Set the filter to Web transactions time on the main chart drop-down filter. In the Transactions table, look for App server time. Check for long-running or suspicious transactions. -
Investigate the transactions individually by going to Monitoring
>Transactions. Set the filters to Web and Most time-consuming. -
Search for third-party modules that consume resources, such as payment providers and ERP systems.
-
In the Monitoring section of APM:
- Click Transactions.
- Scroll down and click Show all transactions table.
- Sort transactions by various parameters and review the transactions that appear suspicious.
- Review transactions with a low Apdex score, unusually high Count or Avg time, or Dissat %.
- Click each individual transaction. If you can’t resolve the issue, submit a support ticket.
- If you need to investigate further, check non-web transactions.
Non-web-transaction time (operations and background tasks):
- Log in to New Relic
>APM>Select an app>Overview. Select Non-web transactions time on the main graph drop-down filter. Click individual transactions in the Transactions table. Look for long-running or suspicious transactions. This includes backend jobs, cron jobs, import and export jobs, and third-party jobs.
> APM Apdex > Measure user satisfaction. Also refer to Managed alerts for Adobe Commerce: Apdex warning alert in the Adobe Commerce support knowledge base.High CPU usage indicates a particularly busy service, such as MySQL or Redis.
- Log in to New Relic
>Infrastructure>Processes. - Review the CPU graphs to identify a stuck or high-consuming process that uses more than 100% CPU time, and compare it with the processor count on the instance. Pay attention to peaks in resource utilization. Don’t kill a process unless it is a stuck cron.
> Infrastructure UI page > Infrastructure Host page > Processes tab.Look for an unusual spike compared with previous average I/O operations:
- Log in to New Relic
>Infrastructure>Processes. - Review the I/O Read Bytes Per Second graph.
- Record the time of the spike.
- Click APM.
- Select web transactions time on the main graph drop-down filter.
- Set the time to the time of the recorded spike.
- Search for transactions that caused high I/O operations.
- Drill down into each Transaction trace
>Trace details to identify what is causing the issue.
< 0.4, which is considered an outage.Investigating an outage takes several steps, including examining web and non-web transactions, databases, and third-party transactions.
Web Transactions:
- Log in to New Relic
>APM>Overview. Set the filter to Web transactions time on the drop-down graph filter. - Manually narrow the time window.
- Click Transactions. Set the filters to Web and Most time-consuming. Investigate the longest-running transaction.
- If you need to investigate further, check non-web transactions.
Non-web Transactions:
- Go back to the Overview page and switch to Non-web transactions on the drop-down filter.
- Review transaction traces at the bottom of the page, one by one.
- Depending on the issue, use a third-party tool such as a PHP profiler to find a bottleneck.
- If you need to investigate further, examine database processes.
Database processes:
-
On the APM page, go to Monitoring
>Databases. -
Sort by Most time-consuming.
-
Review TOP queries.
Note:
UPDATEorINSERTqueries are the most CPU-consuming queries. -
Switch to Throughput from the Sort by selector and look for processes that caused database throughput to drop-down.
-
If you need to investigate further, examine third-party services.
Third-party services:
- On the APM page, go to Monitoring
>External services. - Select Slowest average response time from the Sort by drop-down list.
- Look for processes that occurred just before the outage.
> APM UI pages > Transactions page > Use drill-down functions.