connection pooling — это управление пулом уже открытых соединений с БД сокращает время, затрачиваемое на установку и закрытие соединений задаёт предел для числа одновременных подключений к Postgres увеличивает…
Конкурентный доступ: возникновение взаимной блокировки Ситуация возникает, когда две или более транзакции ожидают ресурсы друг друга При этом каждая транзакция удерживает ресурс, который требуется другой Если не…
Что такое goroutine leak в Go и как найти утечку горутин? Go concurrency goroutine leak — это горутины, которые не завершают работу причина: блокировка на канале, mutex или операции I/O нет механизма завершения через…
Что представляет собой memory escape analysis и как определить размещение объекта в heap Область: управление памятью и оптимизация работы сборщика мусора Memory escape analysis — это анализ, который показывает,…
Mutex: назначение, разновидности и применение Mutex — примитив синхронизации, защищающий данные от одновременного доступа Реализует взаимное исключение: владеть mutex одновременно способен только один поток Основные…
Что такое race condition и как её ловить в Go? race condition — ситуация, в которой несколько го-рутин одновременно изменяют общие данные, из-за чего поведение программы становится непредсказуемым причина — отсутствие…
низкоуровневый примитив синхронизации поток активно ожидает (непрерывно проверяет условие в цикле) не переходя в состояние сна и не выполняя переключение контекста применяется при минимальном времени ожидания снижает…
Что представляет собой worker pool и для чего он используется? concurrent programming, resource management Заранее заданный набор рабочих потоков или goroutines распределяет задачи между доступными воркерами…
Что такое write amplification и как этот эффект проявляется в PostgreSQL, SSD-дисках и LSM-деревьях? write amplification — запись данных сверх объема, первоначально заданного пользователем в SSD: из-за механизмов…
Что такое «взрыв потоков»? проблема, связанная с многопоточностью в системах внезапное увеличение количества создаваемых потоков исчерпание ресурсов CPU и памяти падение производительности из-за переключения контекста…