Как я могу проверить, какая часть моего приложения работает медленно?

#next.js #amazon-rds #prisma #vercel

Вопрос:

Когда я запускаю свое приложение локально, оно работает хорошо и быстро, однако при развертывании в Vercel все происходит очень и очень медленно. Мое приложение-это приложение NextJS, использующее Prisma в качестве клиента БД. База данных представляет собой экземпляр Amazon RDS Postgres. Я готовлюсь к запуску, поэтому реального трафика нет, поэтому я не думаю, что есть проблемы с подключениями или что мне нужна настройка pgbouncer… хотя я тоже не знаю, как это проверить.

Любые советы, которые я хотел бы услышать!

Комментарии:

1. Я столкнулся с подобной проблемой, когда развернул приложение, которое быстро работало на моей локальной машине, но стало медленным, как только оно было развернуто в Vercel. Оказалось, что извлечение данных на стороне сервера с помощью getServerSideProps занимало слишком много времени. Чтобы решить эту проблему, я попытался лениво загрузить некоторые компоненты с большим объемом данных на стороне клиента, используя next/dynamic. Вы также можете попробовать аналогичный подход к отладке. Загружайте только те компоненты, которым не нужно извлекать много данных на стороне сервера. Таким образом, вы можете отлаживать свое приложение.

2. Убедитесь, что RDS находится в том же регионе, что и ваше приложение Vercel, чтобы уменьшить задержку. Также используйте последнюю версию Prisma, как nApi было установлено по умолчанию, и это должно ускорить запросы к БД.

Ответ №1:

Возможно, стоит использовать инструменты разработки браузера, в частности вкладки «Сеть» и «Производительность», чтобы узнать, можете ли вы найти то, что вас замедляет.

Вы также можете проверить использование инструментов разработки React и посмотреть на инструмент профилировщика, но он должен запускаться локально, что может быть не так полезно, так как вы говорите, что приложение быстро работает локально