Ужыванне асінхроннага буферызаванага запісу на базе io_uring да 80 раз зменшыла затрымкі ў XFS

Апублікаваная серыя патчаў для ўключэння ў ядро ​​Linux 5.20, якая дадае падтрымку асінхроннага буферызаванага запісу ў файлавую сістэму XFS пры дапамозе механізму io_uring. Папярэднія тэсты прадукцыйнасці, праведзеныя пры дапамозе інструментара fio (1 паток, памер блока 4кб, 600 секунд, паслядоўны запіс), паказваюць павелічэнне колькасці аперацыя ўводу/высновы ў секунду (IOPS) ад 77k да 209k, хуткасці перадачы дадзеных ад 314MB/s да 854MB /s і падзенні затрымак ад 9600ns да 120ns (80 разоў). sequential writes: with patch with patch libaio psync iops: 77k 209k 195K 233K bw: 314MB/s 854MB/s 790MB/s 953MB/s Clat: 9600ns 120ns 540ns 3000

Для тых, хто цікавіцца станам io_uring на сярэдзіну 2022 года, рэкамендуецца азнаёміцца ​​са слайдамі і відэазапісам дакладу з Kernel Recipes 2022. Аглядна згадваюцца змены, якія ўжо ўвайшлі ў ядро ​​і плануюцца, напрыклад можна адзначыць падтрымку:

  • множнага (multi-shot) accept().
  • множнага (multi-shot) recv() - па тэстах прырост 6-8% - ад 1150000 да 1200000 RPS.
  • абнаўленне і выпраўленні ў бібліятэцы liburing, даданне дакументацыі і тэстаў.

У кантэксце пераноснасці io_uring на слайдах згадваецца значнае падабенства з "I/O Rings", выкарыстоўванай у падсістэме Direct Storage у Windows 11, а таксама магчымасць рэалізацыі кросплатформавай працы, але з іншых платформаў на слайдзе аўтара згаданая толькі FreeBSD са знакам пытання.



Крыніца: opennet.ru

Дадаць каментар