Убийца — вор: Откуда на самом деле могут браться потоки в .net и почему красть плохо

Backend
Зал №4

Тезисы

Прошлой зимой у нас случилось странное. Один из незагруженных сервисов с нагрузкой 50-60 rps начал потреблять в 30 раз больше потоков (15.000 против 500) и работать вдвое медленнее. Мы искали в коде — но не нашли создания большого числа потоков. Мы искали в логах — но не нашли, что делают эти потоки. Мы искали в дампах — но эти потоки не делали никакой значительной работы. Мы искали в исходниках дотнета. И нашли. Нашли убийцу тредпула и убийцу производительности.

Аудитория и уровень

Это доклад про дотнет, многопоточность, тредпул и исходники дотнета, поэтому будет интересен тем, кто любит смотреть глубоко и находить неочевидные вещи. Уровень хардкорности — средний. Ещё это история про неочевидные вещи в async/await коде и его непредсказуемости. Поэтому, в меньшей степени, но может быть интересно тем, кто работает с языками, где есть эти конструкции.

Контур

Вадим Мартынов

11 лет в ИТ, последние 7 лет так или иначе в управлении командами и процессами в качестве тимлида, техлида или process-менеджера. За это время успел порулить командами 10+ человек внутри проектов с миллиардными оборотами, и запускал разработку в стартапах, где ещё пока ничего непонятно. Люблю канбан, коммуникации и кафку. В свободное время организую митапы и конференции для Ростовского ИТ-сообщества RndTech и выращиваю культуру шаринга знаний в городе.

11 лет в ИТ, последние 7 лет так или иначе в управлении командами и процессами в качестве тимлида, техлида или process-менеджера. За это время успел порулить командами 10+ человек внутри проектов с миллиардными оборотами, и запускал разработку в стартапах, где ещё пока ничего непонятно. Люблю канбан, коммуникации и кафку. В свободное время организую митапы и конференции для Ростовского ИТ-сообщества RndTech и выращиваю культуру шаринга знаний в городе.

Другие спикеры секции Backend: