Appearance
Web response time
One of our critical metrics.
Plan
Find the source of the issue and fix it:
- Open "APM & Services" -> "Services - APM" on NewRelic
- Set Date time range on NewRelic to cover the reported period

- From the chart, see which service/resource was busy (PHP, MySQL, Redis, etc.). Its MySQL on the example below:

- Depends on the busy service/resource next step is different, but there are steps that always can help you to understand better picture:
- Check the latest Transactions on NewRelic "APM & Services" -> "Transactions"
- Check server resource metrics on DigitalOcean (e.g. production-web and production-mysql)
- Check application logs (.log files, e.g. by running
copy-production-logs.sh, or Logs on NewRelic, but they are less detailed) - Check errors ("APM & Services" -> "Errors (errors inbox)") on NewRelic. A lot of 404 error as well as request.headers.User-Agent value (from Attributes section) from the most popular Errors can help you to identify bot activity (e.g. Googlebot).
- Check console commands the app run this period
Identify recurring performance issues

New Relic allows you to identify recurring performance issues using the "Compare with" tool. You can compare the graph between the current period and corresponding periods from yesterday or last week. It may also help to check times when certain commands are scheduled to run by examining the cron__jobs database table. If a performance issue reoccurs at regular intervals, it is most likely caused by a scheduled command.