Linux 5.20 āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, io_uring āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ XFS āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻ ā§āĻ¯āĻžāĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻ¸ āĻŦāĻžāĻĢāĻžāĻ° āĻāĻ°āĻž āĻ˛ā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ fio āĻā§āĻ˛āĻāĻŋāĻ (1 āĻĨā§āĻ°ā§āĻĄ, 4k āĻŦā§āĻ˛āĻ āĻ¸āĻžāĻāĻ, 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-āĻāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻā§āĻ°āĻšā§āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻ°ā§āĻ¸āĻŋāĻĒāĻŋ 2022-āĻāĻ° āĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻ° āĻ¸ā§āĻ˛āĻžāĻāĻĄ āĻāĻŦāĻ āĻāĻŋāĻĄāĻŋāĻ āĻ°ā§āĻāĻ°ā§āĻĄāĻŋāĻāĻ¯āĻŧā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¨āĻŋāĻā§āĻā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻā§āĻā§āĨ¤ āĻŽā§āĻ˛ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻāĻāĻŋ āĻāĻāĻžāĻ°āĻāĻŋāĻāĻ¤ā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§:
- āĻāĻāĻžāĻ§āĻŋāĻ (āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻļāĻ) āĻā§āĻ°āĻšāĻŖ ()āĨ¤
- āĻāĻāĻžāĻ§āĻŋāĻ (āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻļāĻ) recv() - āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§, 6-8% āĻŦā§āĻĻā§āĻ§āĻŋ - 1150000 āĻĨā§āĻā§ 1200000 RPSāĨ¤
- āĻ˛āĻŋāĻŦāĻžāĻ°āĻŋāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻāĻĒāĻĄā§āĻ āĻāĻŦāĻ āĻĢāĻŋāĻā§āĻ¸ āĻāĻ°ā§, āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¯ā§āĻ āĻāĻ°ā§āĨ¤
io_uring āĻĒā§āĻ°ā§āĻā§āĻŦāĻŋāĻ˛āĻŋāĻāĻŋāĻ° āĻĒā§āĻ°ā§āĻā§āĻˇāĻžāĻĒāĻā§, āĻ¸ā§āĻ˛āĻžāĻāĻĄāĻā§āĻ˛āĻŋ āĻāĻāĻ¨ā§āĻĄā§āĻ 11-āĻāĻ° āĻĄāĻžāĻāĻ°ā§āĻā§āĻ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ "I/O āĻ°āĻŋāĻāĻ¸" āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ āĻŽāĻŋāĻ˛ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻā§āĻ°āĻ¸-āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻāĻžāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ˛ā§āĻāĻā§āĻ° āĻ¸ā§āĻ˛āĻžāĻāĻĄā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻĨā§āĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° FreeBSD āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻŋāĻšā§āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru