Find your performance bottleneck with New Relic

in ToolsTroubleshooting Tags: performance

New Relic is a profiling tool that will explain what is happening “behind the scenes”. You can use it to determine the performance bottleneck of your shop.

Why use New Relic?

New Relic gives you real-time and historical information about the performance of your shop. Some important features:

  • Easy to use; one click install.
  • Gives you a clear overview of possible bottlenecks: pagespeed, transactions, error rates, slow queries and many more.
  • You can add alerts for when the performance or error rate reaches a specific threshold.
  • You can customize and filter the output so it only gives you information you need.
  • Use it to measure performance before and after you make adjustments, so you will have scientific data on which scenario performs better!

New Relic is a third party tool

Byte supports New Relic. Before you can activate New Relic at Byte you need to create an account at New Relic. You get a New Relic Lite plan for free. If you require more advanced profiling, such as application trace details, you can upgrade your account at New Relic to a paid Pro plan.

Activate New Relic

First create a New Relic account via the Byte Service Panel. Then activate New Relic at Byte. Follow the next steps:

  • Log in on the Service Panel
  • Select your Hypernode.
  • Click on the Hypernode tab.
  • Click on the New Relic option.
  • Click on the link, you will be forwarded to New Relic
  • Create an account, you will receive a license key.
  • Enter the license key on your Service Panel to activate New Relic
  • Login to the New Relic dashboard to see statistics.

Please take into account that it takes a most 10 minutes for our system to actually create the account. Grab a cup of coffee and relax!

Troubleshooting

I’m getting The New Relic integration requires the New Relic-PHP 5 agent while my PHP version is set to PHP 7`.

This error appears when the native Magento New Relic extension is installed in your webshop while the New Relic extension is disabled. To solve this, enable New Relic.

Turn off New Relic transaction tracer

In some very rare cases, when you have enabled a huge amount of extensions, or use code with an extraordinary amount of recursion, the detailed tracing might add some overhead to your sites performance. In that case, you should disable trace details by putting these lines in /data/web/public/.user.ini:

[newrelic]
newrelic.transaction_tracer.detail = 0

I’m getting: Fatal error: Aborting! The New Relic imposed maximum PHP function nesting level of ‘5000’ has been reached

This error is created by the New Relic PHP extension and is caused by an infinite recursive loop within Magento.
The New Relic PHP extension detects this loop and exits the PHP process before PHP runs out of cstack frames and crashes with a segfault.

We already changed the maximum nesting level for this extension from 500 to 5000, which should be more then enough for Magento, so if you run into this error, check your New Relic traces to find the recursive loop.

As a quickfix it is possible temporary change the value from 5000 to something bigger. This will not fix the issue as the cause is still there, but it will remove the error message.
To do this create a .user.ini file in /data/web/public with the following setting:

[newrelic]
newrelic.special.max_nesting_level=10000

And restart PHP-FPM for the changes to take effect immediately:

$ pkill -9 -u app php5-fpm

Another option is upgrading to the latest Magento version, as Magento fixes this problem in 1.9.3.

Disable all apdex notifications for New Relic.

To disable all apdex notification mails:

  • Select APM and scroll all the way down to the bottom to the section ALERTS.
  • Select ALERTS > Application Policies
  • Click Default application alert policy
  • Now set both the red and the orange apdex warning to Disable.
  • Unselect the “Alert when any ping URL is unresponsive for 1 minutes”

0