Кто нибудь в курсе отчего апликейшены написанный на Go вдруг может начать потреблять 100% СPU без каких либо видимых причин ? Речь о AWS, там конечно свои заморочки, но по мониторингу видно что это именно app code .
Из того что я начиталась Go наоборот должен быть CPU efficient. Снять бы по хорошему thread dump в момент кризиса, но как это делается ?
В общем не дайте помереть в невежестве, расскажите как в Go принято high CPU траблшутить?
PS. Там же go routines , и в одном треде их может сотня запускаться, видимо тред дамп тут никак не поможет
Golang and high CPU
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Golang and high CPU
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 946
- Joined: 24 Sep 2013 05:58
- Location: US\GA
Re: Golang and high CPU
http://lmgtfy.com/?q=golang+profiler" onclick="window.open(this.href);return false;Сабина wrote:В общем не дайте помереть в невежестве, расскажите как в Go принято high CPU траблшутить?
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Golang and high CPU
Многое из списка я вчера уже просматривала и насколько я вижу для пользования этими профайлерами нужен code change. В моем случае увы не вариант, мониторить надо беду случившуюся в продакшене.mskmel wrote:http://lmgtfy.com/?q=golang+profiler" onclick="window.open(this.href);return false;Сабина wrote:В общем не дайте помереть в невежестве, расскажите как в Go принято high CPU траблшутить?
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 946
- Joined: 24 Sep 2013 05:58
- Location: US\GA
Re: Golang and high CPU
Сразу деплоить в продакшен код который диагностируем?Сабина wrote:для пользования этими профайлерами нужен code change. В моем случае увы не вариант, мониторить надо беду случившуюся в продакшене.
Еще вариант strace, но сильно сложнее будет связи с кодом находить.
-
- Уже с Приветом
- Posts: 13682
- Joined: 16 Jan 2001 10:01
Re: Golang and high CPU
strace вряд ли поможет с high CPU usage.
Попробовать посмотреть отдельные threads?
Если какой-то из них шалит - смотреть за что он отвечает.
Ну и стараться повторить проблему с помощью load test...
Попробовать посмотреть отдельные threads?
Если какой-то из них шалит - смотреть за что он отвечает.
Ну и стараться повторить проблему с помощью load test...
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Golang and high CPU
Этим делом в итоге другие люди занялись ( вышедшие из отпуска и написавшие этот код - и слава богу). Но у меня таки осталось любопытство - там же go routines которых на тред может быть целая куча и именно они и грузят CPU как я понимаю.Palych wrote:strace вряд ли поможет с high CPU usage.
Попробовать посмотреть отдельные threads?
Если какой-то из них шалит - смотреть за что он отвечает.
Ну и стараться повторить проблему с помощью load test...
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Golang and high CPU
О, годится. Спасибоmskmel wrote:Сразу деплоить в продакшен код который диагностируем?Сабина wrote:для пользования этими профайлерами нужен code change. В моем случае увы не вариант, мониторить надо беду случившуюся в продакшене.
Еще вариант strace, но сильно сложнее будет связи с кодом находить.
http://stackoverflow.com/questions/2869 ... -in-golang" onclick="window.open(this.href);return false;
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 736
- Joined: 30 Mar 2006 09:08
- Location: Arch Linux world
Re: Golang and high CPU
Вместо strace лучше использовать 'perf', это полноценный профайлер и для ядра и юзерспейса.Palych wrote:strace вряд ли поможет с high CPU usage.
Попробовать посмотреть отдельные threads?
Если какой-то из них шалит - смотреть за что он отвечает.
Ну и стараться повторить проблему с помощью load test...
'perf top -p $PID'