Понимание вывода хрю
Я использую 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, который замедляет работу вашего сервера.