Понимание вывода хрю

Я использую oink, чтобы помочь определить причины переполнения памяти в приложении, но мне трудно разобраться с выводом, полученным из oink (или принимаю какие-либо действенные решения на его основе). Если есть какая-то документация или блог, который объясняет более подробно, это было бы очень полезно (хотя я не смог их найти).

Например, у меня есть следующий вывод от запуска моих журналов через oink:

---- MEMORY THRESHOLD ----
THRESHOLD: 10 MB

-- SUMMARY --
Worst Requests:
1. May 13 22:59:15, 69848 KB, api#action_1
2. May 13 22:56:15, 58128 KB, application#js_action
3. May 13 23:10:28, 12108 KB, application#js_action
4. May 13 23:10:46, 12108 KB, api#action_2
5. May 13 23:11:16, 12108 KB, api#update_action
6. May 13 23:11:21, 12108 KB, api#update_action
7. May 13 23:12:44, 11704 KB, api#update_action
8. May 13 23:13:44, 11704 KB, api#product_action
9. May 13 23:14:42, 11704 KB, application#js_action
10. May 13 23:16:11, 11704 KB, application#js_action

Worst Actions:
14, application#js_action
5, api#update_action
4, api#action_1
2, api#action_2
1, admin/products#index
1, admin/users#index
1, api#update_product
1, api#product_action

Aggregated Totals:
Action                          Max     Mean    Min     Total   Number of requests
application#js_action           58128   14408   10448   201724  14
api#action_1                    69848   25523   10664   102092  4
api#update_action               12108   11363   10448   56816   5
api#action_2                    12108   11512   10916   23024   2
api#product_action              11704   11704   11704   11704   1
api#update_product              10916   10916   10916   10916   1
admin/products#index            10548   10548   10548   10548   1
admin/users#index               10500   10500   10500   10500   1

Если кто-нибудь может помочь мне разобраться в результатах, это будет очень цениться. Например, что означает каждый из столбцов (я понимаю, что это память, но это общий объем памяти, который занимает действие?)

* Примечание - эти результаты запускались с опцией памяти (не активная запись)

1 ответ

Решение

Начнем с заголовка:

---- MEMORY THRESHOLD ----
THRESHOLD: 10 MB

Это дает текущую настройку порога для памяти. т.е. 10MB, вы можете изменить это, используя опцию -m.

пример oink -m 20 path_to_log

Далее следует сводный раздел:

-- SUMMARY --
Worst Requests:
1. May 13 22:59:15, 69848 KB, api#action_1
2. May 13 22:56:15, 58128 KB, application#js_action
3. May 13 23:10:28, 12108 KB, application#js_action
4. May 13 23:10:46, 12108 KB, api#action_2
5. May 13 23:11:16, 12108 KB, api#update_action
6. May 13 23:11:21, 12108 KB, api#update_action
7. May 13 23:12:44, 11704 KB, api#update_action
8. May 13 23:13:44, 11704 KB, api#product_action
9. May 13 23:14:42, 11704 KB, application#js_action
10. May 13 23:16:11, 11704 KB, application#js_action

Он показывает худшие запросы, сделанные к серверу с момента запуска, и соответствующие им временные метки.

Далее следует сводный раздел:

Worst Actions:
14, application#js_action
5, api#update_action
4, api#action_1
2, api#action_2
1, admin/products#index
1, admin/users#index
1, api#update_product
1, api#product_action

В этом разделе содержится количество запросов, сделанных для конкретного действия.

Пример: application#js_action вызывалось 14 раз и является одним из худших в использовании памяти. Вы можете проверить в приведенном ниже разделе фактическое количество используемой памяти.

Здесь мы видим, что количество запросов равно 14. Макс / Мин - это максимальный / минимальный объем памяти, используемый одним из 14 запросов. Среднее означает среднее использование памяти всех 14 запросов.

Total - сумма использования памяти всеми запросами.

Aggregated Totals:
Action                          Max     Mean    Min     Total   Number of requests
application#js_action           58128   14408   10448   201724  14
api#action_1                    69848   25523   10664   102092  4
api#update_action               12108   11363   10448   56816   5
api#action_2                    12108   11512   10916   23024   2
api#product_action              11704   11704   11704   11704   1
api#update_product              10916   10916   10916   10916   1
admin/products#index            10548   10548   10548   10548   1
admin/users#index               10500   10500   10500   10500   1

Все три раздела являются зависимыми. Если вы посмотрите на "Сводные итоги" . Максимальное использование памяти для приложения # js_action составляет 58128. Если вы хотите узнать время этого действия, вы можете увидеть первый раздел "Наихудшие запросы" . Есть запись

2. May 13 22:56:15, **58128 KB**, application#js_action

Теперь вы знаете, что худшие действия сначала исправляют их, а затем выполняйте худшие запросы и выясняете, почему это происходит именно в это время. Может быть, у вас запущен какой-то cronjob, который замедляет работу вашего сервера.

Другие вопросы по тегам