#pprof — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #pprof, aggregated by home.social.
-
Почему ваш Go‑сервис ломается под 1000 RPS и как найти узкое место за полчаса
Go-сервис может идеально проходить функциональные тесты и уверенно отвечать на локальных прогонах, а потом внезапно развалиться под 1000 RPS: p99 улетает в секунды, в логах появляются таймауты, throughput проседает, а часть запросов вообще не получает HTTP-ответа. В статье разберём, как подойти к такой деградации без гадания: прогнать нагрузку через vegeta и wrk2, правильно прочитать p50/p99 и status codes, проверить пул соединений к базе, настройки HTTP-клиента, горутины, GC, таймауты и быстро понять, где именно сервис начинает терять устойчивость.
https://habr.com/ru/companies/otus/articles/1031438/
#Go #нагрузочное_тестирование #backend #микросервисы #p99 #latency #vegeta #wrk2 #pprof #производительность
-
Почему ваш Go‑сервис ломается под 1000 RPS и как найти узкое место за полчаса
Go-сервис может идеально проходить функциональные тесты и уверенно отвечать на локальных прогонах, а потом внезапно развалиться под 1000 RPS: p99 улетает в секунды, в логах появляются таймауты, throughput проседает, а часть запросов вообще не получает HTTP-ответа. В статье разберём, как подойти к такой деградации без гадания: прогнать нагрузку через vegeta и wrk2, правильно прочитать p50/p99 и status codes, проверить пул соединений к базе, настройки HTTP-клиента, горутины, GC, таймауты и быстро понять, где именно сервис начинает терять устойчивость.
https://habr.com/ru/companies/otus/articles/1031438/
#Go #нагрузочное_тестирование #backend #микросервисы #p99 #latency #vegeta #wrk2 #pprof #производительность
-
Почему ваш Go‑сервис ломается под 1000 RPS и как найти узкое место за полчаса
Go-сервис может идеально проходить функциональные тесты и уверенно отвечать на локальных прогонах, а потом внезапно развалиться под 1000 RPS: p99 улетает в секунды, в логах появляются таймауты, throughput проседает, а часть запросов вообще не получает HTTP-ответа. В статье разберём, как подойти к такой деградации без гадания: прогнать нагрузку через vegeta и wrk2, правильно прочитать p50/p99 и status codes, проверить пул соединений к базе, настройки HTTP-клиента, горутины, GC, таймауты и быстро понять, где именно сервис начинает терять устойчивость.
https://habr.com/ru/companies/otus/articles/1031438/
#Go #нагрузочное_тестирование #backend #микросервисы #p99 #latency #vegeta #wrk2 #pprof #производительность
-
Почему ваш Go‑сервис ломается под 1000 RPS и как найти узкое место за полчаса
Go-сервис может идеально проходить функциональные тесты и уверенно отвечать на локальных прогонах, а потом внезапно развалиться под 1000 RPS: p99 улетает в секунды, в логах появляются таймауты, throughput проседает, а часть запросов вообще не получает HTTP-ответа. В статье разберём, как подойти к такой деградации без гадания: прогнать нагрузку через vegeta и wrk2, правильно прочитать p50/p99 и status codes, проверить пул соединений к базе, настройки HTTP-клиента, горутины, GC, таймауты и быстро понять, где именно сервис начинает терять устойчивость.
https://habr.com/ru/companies/otus/articles/1031438/
#Go #нагрузочное_тестирование #backend #микросервисы #p99 #latency #vegeta #wrk2 #pprof #производительность
-
[Перевод] Сборщик мусора в Go. Часть 2: GC Traces
Команда Go for Devs подготовила перевод статьи о том, как оптимизация аллокаций в Go может снизить нагрузку на сборщик мусора и ускорить приложение почти в два раза. Автор показывает на примере реального веб-приложения, как профилировать кучу, находить «горячие» места и убирать лишние аллокации, чтобы снизить задержки и повысить пропускную способность.
https://habr.com/ru/articles/948864/
#go #garbage_collector #gc #профилирование #pprof #оптимизация #аллокаций #производительность #heap #strings