TGViewer
Spring АйО Spring АйО @spring_aio · 10.9K subscribers
Post #754 6.81K
🚀 Postgres 18 читает в 2–3 раза быстрее! ⚡

В новой версии Postgres появляется долгожданное обновление, способное серьёзно ускорить работу баз данных. Речь о асинхронном вводе-выводе (async I/O) — функции, которая делает операции чтения с диска в разы эффективнее.

Что это значит?

Когда данные нужно достать с диска, а не из памяти, вступают в игру операции ввода-вывода. В привычной синхронной модели они идут строго по очереди: пока одна операция не завершится, следующая даже не начнётся. В условиях высокой нагрузки это превращается в узкое горлышко, особенно в облачных базах.

Async I/O снимает это ограничение: процессы перестают простаивать и начинают работать параллельно, используя время максимально продуктивно. (Важно: операции записи в Postgres по-прежнему будут оставаться синхронными.)

Простая аналогия

Синхронная модель — как если бы вы заказали еду в ресторане и стояли у стойки, пока её готовят. Всё внимание — только на ожидании.
Асинхронная модель — вы получаете пейджер, идёте за столик и спокойно общаетесь с друзьями. Когда пейджер завибрировал — забираете готовое блюдо.

Где поможет async I/O?

🔵последовательные сканирования (sequential scans)
🔵Чтение из bitmap in-memory индекса (bitmap heap scans)
🔵задачи обслуживания вроде vacuum

С официальным release notes можно ознакомиться тут.

👉 Иными словами, внутренний механизм работы Postgres с persistence storage стал существенно эффективнее. Это не значит, что конкретный SELECT в приложении будет работать быстрее. Однако, системы под нагрузкой с большим количеством READ операций, скорее всего, будут более производительными

Как включить?

io_method = worker — данные загружают общие рабочие процессы (поддерживается на всех платформах).
io_method = io_uring — для Linux 5.1+ в качестве ассинхронного API ядра можно использовать системные вызовы
io_uring, выполняя операции напрямую через backend-процессы.

💡 Дополнительно: появится новый системный view - pg_aios, который позволяет мониторить файловые дискрипторы ядра linux в рамках I/O.

Обсудим?👇
  • 🔥 47
  • ❤ 13
  • 🤩 9
  • 👍 2
More from @spring_aio
  1. Oct 6, 2026👩‍💻 Spring Config Import без магии У наших друзей из Axelix вышла статья о том, как Spri…
  2. Oct 5, 2026🥲 В Java 27 TLS научился переживать квантовую атаку При установке HTTPS-соединения клиент…
  3. Oct 3, 2026⚡️⚡️Строки кода стремятся подешеветь до цены токена. Что остается ценным? Про это — трек «…
  4. Oct 2, 2026🙅‍♂️ Не каждый AI-вызов должен генерировать текст Иногда от модели нужен не красивый отве…
  5. Oct 1, 2026JEP 544: JVM будет сохранять машинный код между запусками JEP 544 (Ahead-of-Time Code Comp…
  6. Sep 30, 2026🍃 Переписываем всё на Rust, JavaScript — кошмар, AI против Vaadin | Spring АйО Подкаст №7…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →