Есть такая классная штука, как Sentry. Она позволяет отслеживать практически любые ошибки, как на backend, так и на frontend.
А еще она умеет задать пользовательский контекст, т.е. можно отследить, у каких пользователей проявилась ошибка. Это чрезвычайно удобно.
Обычно, когда падает backend, на frontend тоже что-нибудь отваливается.
А еще sentry умеет breadcrumbs, т.е. вы можете самостоятельно отследить цепочку действий пользователя до возникновения ошибки. Конечно, это требует модификации кода, но результат просто замечательный.
Извините, что я начал с инструмента, но выяснение любых проблем начинается с анализа симптомов/ошибок. Если у вас недостаточно данных об ошибках или сами ошибки не отслеживаются, то будут проблемы.
Если у вас проблемы с временем ответа серверов, то нужно мониторить и профилировать запросы.
Например у вас внезапно растет уровень отказов на какой-то странице. Для этого можно настроить алерт в Google Analytics по резкому увеличению отказов. Далее вы смотрите на мониторинг ответов сервера использующихся на этой странице. Затем получаете, что идет один из вызовов API выполняется дольше обычного. Профилируете его. Смотрите, что идет долгое обращение к БД. Смотрите мониторинг долгих запросов к базе и кореллируете с запросами используемыми в этом API. Находите запрос, делаете EXPLAIN, достраиваете индексы или рефакторите API. Большая часть всех этих процедур требует наличие интеллекта и опыта. А помочь пройти все это сразу может нечто вроде NewRelic.