Troubleshoot performance using New Relic on ÃÛ¶¹ÊÓƵ Commerce
- Topics:
- Observability
CREATED FOR:
- Developer
This article provides troubleshooting steps to solve ÃÛ¶¹ÊÓƵ Commerce on cloud infrastructure performance issues using New Relic. It also provides resources for further information. The following issues covered in the below table with recommended resources are:
- Low Apdex score
- High CPU usage
- High I/O operations
- Outage
Low Apdex score:
Your New Relic measures users' satisfaction with the response time of your web applications and services.
You log in to > 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 > APM > (Select an app) > Overview. Make sure the filter is set to Web transactions time on the main chart drop-down filter. Below in the Transactions table, look for App server time. Verify if you have any long-running or suspicious transactions.
-
Investigate them individually by going to Monitoring > Transactions and make sure to set the filters for Web and Most time-consuming .
-
Then search for third-party modules that consume resources: payment providers, ERP, etc.
-
In the Monitoring section of APM:
- Click Transactions.
- Scroll down, click Show all transactions table.
- You can sort transactions by and jump to those that cause suspicion.
- Review those transactions with a low Apdex score, unusually high Count or high Avg time, or Dissat %.
- Click on each individual transaction. If you cannot resolve the issue, submit a support ticket.
- If you need to investigate further, consider checking non-web transactions.
-
Non-web-transaction time (operations and background tasks):
-
- Log in to > APM > (Select an app) > Overview. Make sure you 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 or import/export jobs, including third-party.
High CPU usage:
High CPU usage can indicate there is a particularly busy service, like MySQL, Redis, etc.
- Log in to > Infrastructure > Processes.
- Review CPU graphs to see if there is any stuck or high-consuming process that is using more than 100% CPU time and compare against processor count on the instance. Pay attention to peaks in resource utilization. It is not recommended that you kill a process unless it is a stuck cron.
Look for an unusual spike compared to previous average I/O operations:
- Log in to > Infrastructure > Processes.
- Review I/O Read Bytes Per Second graph.
- Record the time of the spike.
- Click on APM.
- Make sure you select web transactions time on the main graph drop-down filter.
- Set the time for the time of the spike you recorded.
- Search for transactions that have caused high I/O operations.
- Drill down into each Transaction trace > Trace details to find what might be causing issues.
Investigating an outage may take several steps, examining web and non-web transactions, databases and third-party transactions. Web Transactions:
- Log in to > APM > Overview. Make sure the filter is set to Web transactions time on the drop-down graph filter.
- Manually narrow the time window.
- Click on Transactions. Make sure the filters are set to Web and Most time-consuming. Investigate the longest-running transaction.
- If you need to investigate further, consider checking 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 very bottom of the page, one by one.
- Depending on the issue, you may need to use a third-party tool like a PHP profiler to find a bottleneck.
- If you need to investigate further, consider examining database processes.
Database processes:
-
On the APM page, go to Monitoring > Databases.
-
Sort by Most time-consuming.
-
Review TOP queries.
Note:
UPDATE
orINSERT
queries are the most CPU-consuming queries. -
Switch to Throughput from Sort by selector and look for processes that have caused the database throughput to drop-down.
-
If you need to investigate further, consider examining third-party services.
Third-party services:
- On the APM page, go to Monitoring > External services.
- Select the Slowest average response time from Sort by drop-down list.
- Look for processes that occurred just before the outage.