Go за гранью скорости: pprof на проде | avito.code

  Рет қаралды 6,300

AvitoTech

AvitoTech

Күн бұрын

Привет! Это avito.code. Здесь опытные инженеры Авито делятся знаниями и рассказывают про свои рабочие инструменты.
В этом выпуске Иван Нещадин, старший инженер в команде Architecture Governments, продолжает делиться опытом оптимизации и профилирования приложений на Go. Речь пойдет о том, как использовать pprof на проде. Добавление специальных хендлеров в http-сервер сервиса.
Таймкоды
00:00 | Вступление
00:45 | Как добавлять хендлеры в http-сервер
03:12 | Собираем профиль CPU
05:26 | Как сработала утилита wrk
06:41 | Смотрим на полученный профиль
08:29 | Собираем профиль памяти с помощью pprof
11:41 | Разбираемся, где и почему было выделено 7 миллионов объектов
13:31 | Пробуем убедиться, что проблема заключается в garbage collector
15:44 | Заменяем библиотеку на bigcash
17:11 | Ещё раз нагружаем сервис
20:05 | Заключение
AvitoTech - это команда инженеров Авито. Подпишитесь на наш канал, соцсети и блоги, чтобы узнавать больше о технологиях Авито 👇🏻
ВК: avitotech
Телеграм: t.me/avitotech
Хабр: habr.com/ru/company/avito
Медиум (eng): / avitotech
Гитхаб: github.com/avito-tech
Сайт: avito.tech
#avitocode #go #pprof

Пікірлер: 15
@skubach
@skubach 10 ай бұрын
Сравнение профилей 🔥
@ayaz.ayupov
@ayaz.ayupov 5 ай бұрын
просмотрел больше 10 видео про pprof, это видео без сомнения лучшее спасибо
@user-kp4mt2jc3d
@user-kp4mt2jc3d 9 ай бұрын
Отличная подача материала, спасибо!
@chemax87
@chemax87 10 ай бұрын
Большое спасибо
@viktorsolovev8401
@viktorsolovev8401 9 ай бұрын
Пуля-бомба. Спасибо!
@ofp1979
@ofp1979 Ай бұрын
что мешает в данном видео сделать чтобы введённые команды переносились на следующую строку для читабельности?
@Iyozy
@Iyozy 10 ай бұрын
Спасибо за видео. Насколько это плохая идея сделать хранилище на хэш таблицах, если придётся там хранить большой объем данных, их придётся так же прятать от GC, как я понимаю.
@AvitoTech
@AvitoTech 10 ай бұрын
Добрый день! Получится тот же самый эффект, что и на видео, ведь в видео по-сути тоже используется библиотека, внутри которой и используется хэш мапа (github.com/bluele/gcache/blob/master/lru.go#L11). Но это зависит от того, сколько вы объектов планируете хранить, если до 100к, то в целом решение должно подойти, но если больше - лучше уже смотреть в сторону github.com/allegro/bigcache
@glebdanichev9956
@glebdanichev9956 10 ай бұрын
2023 год у них в коде interface{} 🤦‍♂️
@exitialislp
@exitialislp 10 ай бұрын
Это код сторонней библиотеки 2021 года. А чем вам так interface{} не угодил?
@glebdanichev9956
@glebdanichev9956 10 ай бұрын
@@exitialislp про генерики слышали ?
@user-td6vu1hh3y
@user-td6vu1hh3y 10 ай бұрын
алиас any наверное подразумевается@@exitialislp
@user-xl1qb5yn1z
@user-xl1qb5yn1z 10 ай бұрын
покажите ваш гитхаб
@glebdanichev9956
@glebdanichev9956 10 ай бұрын
Про any слышали ?
9 правил хорошего кода на C#
3:27
Роман Сакутин
Рет қаралды 71 М.
UFC 302 : Махачев VS Порье
02:54
Setanta Sports UFC
Рет қаралды 1,3 МЛН
Cat story: from hate to love! 😻 #cat #cute #kitten
00:40
Stocat
Рет қаралды 17 МЛН
Кәріс өшін алды...| Synyptas 3 | 10 серия
24:51
kak budto
Рет қаралды 1,1 МЛН
Go (Golang) Profiling Tutorial
24:40
Golang Cafe
Рет қаралды 22 М.
Memory management in golang
5:36
Hitesh Choudhary
Рет қаралды 45 М.
Profiling Go Code with pprof Part 1 - setup
3:54
Miriah Peterson
Рет қаралды 950
КРАМНИК - ЖОСПЕМ | День 2
Levitov Chess
Рет қаралды 537
РЕАЛЬНЫЕ ВОПРОСЫ НА СОБЕСЕДОВАНИИ ПО GOLANG
9:15
Ваня Ио про разработку
Рет қаралды 34 М.
How To Unlock Your iphone With Your Voice
0:34
요루퐁 yorupong
Рет қаралды 19 МЛН
What model of phone do you have?
0:16
Hassyl Joon
Рет қаралды 78 М.
keren sih #iphone #apple
0:16
Muhammad Arsyad
Рет қаралды 476 М.
Выложил СВОЙ АЙФОН НА АВИТО #shorts
0:42
Дмитрий Левандовский
Рет қаралды 1,9 МЛН
Эффект Карбонаро и бумажный телефон
1:01
История одного вокалиста
Рет қаралды 2,8 МЛН
iPhone 15 Unboxing Paper diy
0:57
Cute Fay
Рет қаралды 1,9 МЛН
Где раздвижные смартфоны ?
0:49
Не шарю!
Рет қаралды 580 М.