Troubleshooting performance issues

Edit on GitHub

This section helps you optimize the performance of your website by helping you detect and fix the most common performance troubleshooting issues.

Performance optimization has to start with the analysis or with the profiling.

Prerequisites

Before you start optimizing performance, make sure the following preconditions are met:

  1. You know and understand the problem. An example of a poorly defined problem: “Website is slow”. An example of a well-defined problem: “Web site is slow when I place an order with 25 products of the same SKU (SKU=001). URL: {URL} Credentials: {Instruction on how to get credentials}.”

If you do not have this information, then request additional data from the person who reported the problem.

  1. Check the profiling. You are free to choose any profiling tool you want. The ones that we prefer are New Relic and Blackfire.

New Relic

To profile with New Relic, do the following:

  1. Install and configure New Relic.
  2. Make sure New Relic is properly configured for your environment. For setup and configuration details, see Monitoring.
  3. Reproduce the problem in the necessary environment or request it to be reproduced by the customer. Note the following:
  1. Review the profiling. For a step-by-step guide on navigating New Relic APM, analyzing transactions, traces, databases, and errors, see APM — New Relic based troubleshooting.

Blackfire

For a guide on profiling with Blackfire, including Callgraph analysis and recommendations, see Blackfire profiling.

Common performance issues

The following articles help you troubleshoot specific performance problems:

APM-based troubleshooting

For a comprehensive guide on using New Relic APM to systematically identify and resolve performance bottlenecks, see APM — New Relic based troubleshooting.

Next steps

  1. Check that you have the latest performance releases.
  2. Check that you implemented the performance recommendations.
  3. If your problem is still not solved, analyze profiling as follows:
  • Select the longest action under profiling.
  • Optimize.
  • Repeat.
  1. Check if your result is still good for future growth. Return to the previous step if needed.
  2. Share your experience: