Ang paggamit ng mga asynchronous na buffered na pagsusulat batay sa io_uring na pinababang latency sa XFS nang hanggang 80 beses

Ang isang serye ng mga patch ay nai-publish para sa pagsasama sa Linux kernel 5.20, pagdaragdag ng suporta para sa asynchronous buffered writes sa XFS file system gamit ang io_uring na mekanismo. Ang mga paunang pagsusuri sa performance na isinagawa gamit ang fio toolkit (1 thread, 4kB block size, 600 seconds, sequential writes) ay nagpapakita ng pagtaas sa input/output operations per second (IOPS) mula 77k hanggang 209k, data transfer rate mula 314MB/s hanggang 854MB / s at pagbaba ng latency mula 9600ns hanggang 120ns (80 beses). sequential writes: walang patch na may patch libaio psync iops: 77k 209k 195K 233K bw: 314MB/s 854MB/s 790MB/s 953MB/s clat: 9600ns 120ns 540ns 3000ns

Para sa mga interesado sa estado ng io_uring sa kalagitnaan ng 2022, inirerekumenda na pamilyar ka sa mga slide at video recording ng ulat mula sa Kernel Recipes 2022. Ang mga pagbabagong kasama na sa kernel at ang mga binalak ay maikling binanggit, para sa halimbawa, maaari mong tandaan ang suporta para sa:

  • multi-shot accept().
  • multiple (multi-shot) recv() - ayon sa mga pagsubok, isang pagtaas ng 6-8% - mula 1150000 hanggang 1200000 RPS.
  • pag-update at pag-aayos sa library ng liburing, pagdaragdag ng dokumentasyon at mga pagsubok.

Sa konteksto ng portability ng io_uring, binabanggit ng mga slide ang makabuluhang pagkakatulad sa "I/O Rings" na ginamit sa Direct Storage subsystem sa Windows 11, pati na rin ang posibilidad ng cross-platform na operasyon, ngunit sa iba pang mga platform sa slide ng may-akda, ang FreeBSD lang ang binanggit na may tandang pananong.



Pinagmulan: opennet.ru

Magdagdag ng komento