ะะฟัะฑะปะธะบะพะฒะฐะฝะฐ ัะตัะธั ะฟะฐััะตะน ะดะปั ะฒะบะปััะตะฝะธั ะฒ ัะดัะพ Linux 5.20, ะดะพะฑะฐะฒะปัััะฐั ะฟะพะดะดะตัะถะบั ะฐัะธะฝั ัะพะฝะฝะพะน ะฑััะตัะธะทะธัะพะฒะฐะฝะฝะพะน ะทะฐะฟะธัะธ ะฒ ัะฐะนะปะพะฒัั ัะธััะตะผั XFS ะฟัะธ ะฟะพะผะพัะธ ะผะตั ะฐะฝะธะทะผะฐ io_uring. ะัะตะดะฒะฐัะธัะตะปัะฝัะต ัะตััั ะฟัะพะธะทะฒะพะดะธัะตะปัะฝะพััะธ, ะฟัะพะฒะตะดัะฝะฝัะต ะฟัะธ ะฟะพะผะพัะธ ะธะฝััััะผะตะฝัะฐัะธั fio (1 ะฟะพัะพะบ, ัะฐะทะผะตั ะฑะปะพะบะฐ 4ะบะฑ, 600 ัะตะบัะฝะด, ะฟะพัะปะตะดะพะฒะฐัะตะปัะฝะฐั ะทะฐะฟะธัั), ะฟะพะบะฐะทัะฒะฐัั ัะฒะตะปะธัะตะฝะธะต ัะธัะปะฐ ะพะฟะตัะฐัะธั ะฒะฒะพะดะฐ/ะฒัะฒะพะดะฐ ะฒ ัะตะบัะฝะดั (IOPS) ะพั 77k ะดะพ 209k, ัะบะพัะพััะธ ะฟะตัะตะดะฐัะธ ะดะฐะฝะฝัั ะพั 314MB/s ะดะพ 854MB/s ะธ ะฟะฐะดะตะฝะธั ะทะฐะดะตัะถะตะบ ะพั 9600ns ะดะพ 120ns (80 ัะฐะท). sequential writes: without patch with patch libaio psync iops: 77k 209k 195K 233K bw: 314MB/s 854MB/s 790MB/s 953MB/s clat: 9600ns 120ns 540ns 3000ns
ะะปั ะธะฝัะตัะตััััะธั ัั ัะพััะพัะฝะธะตะผ 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