Чтобы облегчить поиск проблем с производительностью, GitLab включает набор профилировочных инструментов. Некоторые из них доступны по умолчанию, в то время как другие требуют явного включения.
Sherlock — это специализированный профилировочный инструмент, встроенный в GitLab. Sherlock доступен только при запуске GitLab в режиме разработки и при установке переменной окружения ENABLE_SHERLOCK
на непустое значение. Например:
ENABLE_SHERLOCK=1 bundle exec rails s
Записанные транзакции можно найти, перейдя по адресу /sherlock/transactions
.
Bullet — это библиотека, которая может использоваться для отслеживания проблем с N+1 запросами. Поскольку Bullet добавляет значительное количество шума в логах, она отключена по умолчанию. Чтобы включить Bullet, установите переменную окружения ENABLE_BULLET
на непустое значение перед запуском GitLab. Например:
ENABLE_BULLET=true bundle exec rails s
Bullet будет логировать проблемы с запросами в лог Rails и консоль Chrome.
В качестве дополнительного шага после обнаружения N+1
запросов с помощью Bullet, рассмотрите возможность написания теста QueryRecoder для предотвращения регрессии.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )