Новости PostgreSQL делает ставку на IO_uring — и не зря

NewsMaker

I'm just a script
Премиум
19,423
40
8 Ноя 2022
Первые тесты внушают оптимизм, но главное впереди.


sj2nxy5mnqw1oy7b46u27d658ufv9wec.webp



В PostgreSQL Для просмотра ссылки Войди или Зарегистрируйся долгожданный механизм асинхронного ввода-вывода — IO_uring. Пока это базовая реализация, но уже сам факт её включения в основную ветку проекта 26 марта стал важным шагом к заметному росту производительности, особенно на Linux-серверах.

IO_uring — это современный интерфейс асинхронного I/O, разработанный специально для Linux. Он позволяет существенно сократить издержки на переключение контекста и обойти ограничения, связанные с числом потоков ввода-вывода. В PostgreSQL он становится альтернативой существующему методу
Код:
io_method=worker
, который уступает IO_uring при большом количестве мелких операций.

Чтобы включить новую возможность, PostgreSQL нужно собрать с поддержкой библиотеки liburing (опция <code>--with-liburing</code>), а затем в настройках сервера указать
Код:
io_method=io_uring
. Эта функция доступна только для Linux и требует дополнительной зависимости на этапе компиляции.

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

Полноценная поддержка IO_uring, вероятно, станет частью PostgreSQL 18, релиз которого ожидается в сентябре. До этого момента разработчики будут продолжать работу над улучшением интеграции нового I/O-механизма, чтобы он по-настоящему оправдал свой потенциал.
 
Источник новости
www.securitylab.ru

Похожие темы