RU

Задача взяла lock() и остановила весь рантайм: пять ошибок с блокировками в async Rust

В async Rust одна неудачно взятая блокировка может остановить весь рантайм — вместе с таймерами и задачами, которые должны были её отпустить. Разбер…

rusttokioasync Rustасинхронное программированиемьютексыблокировкиRwLockдедлокиконкурентность
Habr
RU

Async на Rust завис: как понять, где именно, когда паники нет и стек молчит

Сервис жив, CPU в норме, паники нет — а часть запросов зависает на минуты. В async‑Rust привычный стек часто мало помогает:…

RustTokioasyncасинхронное программированиезависаниядедлокиотладкаtokio-consoleмьютексыкооперативная многозадачность.
Habr
RU

База встала под нагрузкой: как найти, кто кого блокирует в PostgreSQL

CPU и диск свободны, а сервис уже задыхается: транзакции ждут блокировок, соединения заканчиваются, база перестаёт отвечать. Разберём, как&nbsp…

PostgreSQLблокировкитранзакциидедлокиpg_stat_activitypg_blocking_pidsidle in transactionLWLockпул соединенийвысокая нагрузка.