io_uring ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ XFS ํ์ผ ์์คํ ์ ๋น๋๊ธฐ ๋ฒํผ ์ฐ๊ธฐ์ ๋ํ ์ง์์ ์ถ๊ฐํ๋ ์ผ๋ จ์ ํจ์น๊ฐ Linux 5.20 ์ปค๋์ ํฌํจ๋๋๋ก ๊ฒ์๋์์ต๋๋ค. fio ํดํท(์ค๋ ๋ 1๊ฐ, ๋ธ๋ก ํฌ๊ธฐ 4kb, 600์ด, ์์ฐจ ์ฐ๊ธฐ)์ ์ฌ์ฉํ์ฌ ์ํํ ์๋น ์ฑ๋ฅ ํ ์คํธ์์๋ IOPS(์ด๋น ์ ์ถ๋ ฅ ์์ )๊ฐ 77k์์ 209k๋ก, ์ ์ก ์๋๊ฐ 314MB/s์์ 854MB/s๋ก ์ฆ๊ฐํ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์ง์ฐ ์๊ฐ์ด 9600ns์์ 120ns(80๋ฐฐ)๋ก ๊ฐ์ํฉ๋๋ค. ์์ฐจ ์ฐ๊ธฐ: ํจ์น ์์ libaio psync iops: 77k 209k 195K 233K bw: 314MB/s 854MB/s 790MB/s 953MB/s clat: 9600ns 120ns 540ns 3000ns
2022๋ ์ค๋ฐ ํ์ฌ io_uring ์ํ์ ๊ด์ฌ์ด ์๋ ๋ถ๋ค์ Kernel Recipes 2022 ๋ณด๊ณ ์์ ์ฌ๋ผ์ด๋์ ๋น๋์ค ๋ นํ๋ฌผ์ ์์งํ์๊ธฐ ๋ฐ๋๋๋ค. ์ปค๋์ ์ด๋ฏธ ํฌํจ๋์ด ์๊ณ ๊ณํ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์์์ ์ธ๊ธ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ์ง์์ ํ์ธํ ์ ์์ต๋๋ค.
- ๋ค์ค(๋ค์ค ์ท) accept().
- ๋ค์ค(๋ค์ค ์ท) recv() - ํ ์คํธ์ ๋ฐ๋ฅด๋ฉด 6์์ 8 RPS๋ก 1150000~1200000% ์ฆ๊ฐํ์ต๋๋ค.
- liburing ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ๋ฐ์ดํธ ๋ฐ ์์ , ๋ฌธ์ ๋ฐ ํ ์คํธ ์ถ๊ฐ.
io_uring ์ด์์ฑ์ ๋งฅ๋ฝ์์ ์ฌ๋ผ์ด๋์์๋ Windows 11์ Direct Storage ํ์ ์์คํ ์ ์ฌ์ฉ๋๋ "I/O ๋ง"๊ณผ์ ์๋นํ ์ ์ฌ์ ์ ์ธ๊ธํ ๋ฟ๋ง ์๋๋ผ ํฌ๋ก์ค ํ๋ซํผ ์์ ๊ตฌํ ๊ฐ๋ฅ์ฑ๋ ์ธ๊ธํ์ง๋ง ์ ์ ์ฌ๋ผ์ด๋์์๋ ๋ค๋ฅธ ํ๋ซํผ๊ณผ์ ์์ ๋ ๊ฐ๋ฅํฉ๋๋ค. FreeBSD๋ง ๋ฌผ์ํ์ ํจ๊ป ์ธ๊ธ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru