io_uring์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋น„๋™๊ธฐ์‹ ๋ฒ„ํผ๋ง ์“ฐ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด XFS์˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ์ตœ๋Œ€ 80๋ฐฐ ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค.

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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€