āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ 1.2 āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ JSON āĻ…āĻ¨ā§āĻ°ā§‹āĻ§āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ Linux āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

HTTP āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ…āĻ°ā§āĻœāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ Linux āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻŸāĻŋāĻ‰āĻ¨ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻŽāĻžāĻœāĻ¨ EC2 āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ (4 vCPU) āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ•ā§āĻŸāĻ° āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ JSON āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°ā§‡āĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹ āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ 224 āĻšāĻžāĻœāĻžāĻ° API āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĨā§‡āĻ•ā§‡ Amazon Linux 2-āĻāĻ° āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ¸āĻš āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ 4.14 āĻĨā§‡āĻ•ā§‡ 1.2 āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĨ¤ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ā§‡āĻ° āĻĒāĻ°ā§‡ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ (436% āĻŦā§ƒāĻĻā§āĻ§āĻŋ), āĻāĻŦāĻ‚ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ 79% āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻšā§āĻ°āĻžāĻ¸ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ nginx, Actix, Netty āĻāĻŦāĻ‚ Node.js āĻ¸āĻš āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ HTTP āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ libreactor āĻāĻŦāĻ‚ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨āĻ¯āĻŧ (āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ libreactor āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ­āĻžāĻ˛ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ)āĨ¤

āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ 1.2 āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ JSON āĻ…āĻ¨ā§āĻ°ā§‹āĻ§āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ Linux āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨:

  • libreactor āĻ•ā§‹āĻĄ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž. āĻŸā§‡āĻ•āĻŽāĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ•āĻŋāĻŸ āĻĨā§‡āĻ•ā§‡ R18 āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž CPU āĻ•ā§‹āĻ°ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻĄ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ (āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ 25-27% āĻĻā§āĻŦāĻžāĻ°āĻž āĻ•āĻžāĻœāĻ•ā§‡ āĻ¤ā§āĻŦāĻ°āĻžāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ), "-O3" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ GCC-āĻ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ (5-10% āĻŦā§ƒāĻĻā§āĻ§āĻŋ) āĻāĻŦāĻ‚ "-march-native" (5-10%), recv/send (5-10%) āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻ˛ āĻ°āĻŋāĻĄ/āĻ°āĻžāĻ‡āĻŸ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ pthreads āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ“āĻ­āĻžāĻ°āĻšā§‡āĻĄ āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°āĻž (2-3%) . āĻ•ā§‹āĻĄ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ā§‡āĻ° āĻĒāĻ°ā§‡ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ›āĻŋāĻ˛ 55%, āĻāĻŦāĻ‚ āĻĨā§āĻ°ā§āĻĒā§āĻŸ 224k req/s āĻĨā§‡āĻ•ā§‡ 347k req/s-āĻ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ…āĻ¨ā§āĻŽāĻžāĻ¨āĻŽā§‚āĻ˛āĻ• āĻŽā§ƒāĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄā§‡āĻ° āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻž āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ "nospectre_v1 nospectre_v2 pti=off mds=off tsx_async_abort=off" āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž 28% āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻĨā§āĻ°ā§āĻĒā§āĻŸ 347k req/s āĻĨā§‡āĻ•ā§‡ 446k req/s-āĻ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡, āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° "nospectre_v1" (āĻ¸ā§āĻĒā§‡āĻ•ā§āĻŸāĻžāĻ° v1 + SWAPGS āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻž) āĻĨā§‡āĻ•ā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ›āĻŋāĻ˛ 1-2%, "nospectre_v2" (āĻ¸ā§āĻĒā§‡āĻ•ā§āĻŸāĻžāĻ° v2 āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻž) - 15-20%, "pti=off" (Spectre v3/Meltdown) - 6%, "mds=off tsx_async_abort=off" (MDS/Zombieload āĻāĻŦāĻ‚ TSX āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻ…ā§āĻ¯āĻžāĻŦā§‹āĻ°ā§āĻŸ) - 6%ā§ˇ L1TF/Foreshadow (l1tf=flush), iTLB āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻšāĻŋāĻŸ, āĻ¸ā§āĻĒā§‡āĻ•ā§āĻ˛ā§‡āĻŸāĻŋāĻ­ āĻ¸ā§āĻŸā§‹āĻ° āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ āĻāĻŦāĻ‚ SRBDS āĻ†āĻ•ā§āĻ°āĻŽāĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ°āĻžāĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻž āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ¨āĻŋ āĻ•āĻžāĻ°āĻŖ āĻ¤āĻžāĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻŋāĻ¤ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ›ā§‡āĻĻ āĻ•āĻ°ā§‡āĻ¨āĻŋ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, KVM-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ, āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ CPU āĻŽāĻĄā§‡āĻ˛)āĨ¤
  • "auditctl -a never,task" āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻĄāĻŋāĻŸāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻŦā§āĻ˛āĻ•āĻŋāĻ‚ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻĄāĻ•āĻžāĻ° āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ "--security-opt seccomp=unconfined" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĨ¤ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ›āĻŋāĻ˛ 11%, āĻāĻŦāĻ‚ āĻĨā§āĻ°ā§āĻĒā§āĻŸ 446k āĻ…āĻ¨ā§āĻ°ā§‹āĻ§/s āĻĨā§‡āĻ•ā§‡ 495k āĻ…āĻ¨ā§āĻ°ā§‹āĻ§/āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ†āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§‡ iptables/netfilter āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻ“āĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻž, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻŋāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻŽā§āĻĒāĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž nf_hook_slow āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻ¤ā§‡ 18% āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧāĨ¤ āĻāĻŸāĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ nftables iptables āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻĻāĻ•ā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ Amazon Linux iptables āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻšāĻ˛ā§‡āĻ›ā§‡āĨ¤ iptables āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ›āĻŋāĻ˛ 22%, āĻāĻŦāĻ‚ āĻĨā§āĻ°ā§āĻĒā§āĻŸ 495k req/s āĻĨā§‡āĻ•ā§‡ 603k req/s āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ CPU āĻ•ā§‹āĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°ā§‡āĻ° āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻšā§āĻ°āĻžāĻ¸āĨ¤ āĻ¸āĻŋāĻĒāĻŋāĻ‡āĻ‰ āĻ•ā§‹āĻ° (āĻ¸āĻŋāĻĒāĻŋāĻ‡āĻ‰ āĻĒāĻŋāĻ¨āĻŋāĻ‚) āĻāĻŦāĻ‚ āĻĒāĻŋāĻ¨āĻŋāĻ‚ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ (āĻĒāĻžāĻ°ā§āĻļā§āĻŦ āĻ¸ā§āĻ•ā§‡āĻ˛āĻŋāĻ‚ āĻ—ā§āĻ°āĻšāĻŖ) āĻ‰āĻ­āĻ¯āĻŧ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻ˛āĻŋāĻŦā§āĻ°ā§‡āĻ•ā§āĻŸāĻ° āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, irqbalance āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ CPU-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ /proc/irq/$IRQ/smp_affinity_list-āĻ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ˛āĻŋāĻŦā§āĻ°ā§‡āĻ•ā§āĻŸāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻ‡āĻ¨āĻ•āĻžāĻŽāĻŋāĻ‚ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻžāĻ°āĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻ‡ CPU āĻ•ā§‹āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ BPF āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¸āĻ•ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ SO_ATTACH_REUSEPORT_CBPF āĻĒāĻ¤āĻžāĻ•āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻŋāĻĒāĻŋāĻ‡āĻ‰āĻ¤ā§‡ āĻŦāĻšāĻŋāĻ°ā§āĻ—āĻžāĻŽā§€ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¸āĻžāĻ°āĻŋ āĻŦāĻžāĻāĻ§āĻ¤ā§‡, /sys/class/net/eth0/queues/tx- āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ /xps_cpusāĨ¤ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ›āĻŋāĻ˛ 38%, āĻāĻŦāĻ‚ āĻĨā§āĻ°ā§āĻĒā§āĻŸ 603k āĻ…āĻ¨ā§āĻ°ā§‹āĻ§/āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻĨā§‡āĻ•ā§‡ 834k āĻ…āĻ¨ā§āĻ°ā§‹āĻ§/āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻžāĻĒā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻĒā§‹āĻ˛āĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨āĨ¤ ENA āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻŋāĻ­-āĻ†āĻ°āĻāĻ•ā§āĻ¸ āĻŽā§‹āĻĄ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ sysctl net.core.busy_read āĻāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž 28% āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡ (āĻĨā§āĻ°ā§āĻĒā§āĻŸ 834k req/s āĻĨā§‡āĻ•ā§‡ 1.06M req/s, āĻāĻŦāĻ‚ āĻ˛ā§‡āĻŸā§‡āĻ¨ā§āĻ¸āĻŋ 361Îŧs āĻĨā§‡āĻ•ā§‡ 292Îŧs āĻ āĻ•āĻŽā§‡āĻ›ā§‡)āĨ¤
  • āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ—ā§āĻ˛āĻŋ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻ¯āĻž āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦā§āĻ˛āĻ•āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡ā§ˇ dhclient āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ IP āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻĢāĻ˛ā§‡ 6% āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĨā§āĻ°ā§āĻĒā§āĻŸ 1.06M āĻ…āĻ¨ā§āĻ°ā§‹āĻ§/s āĻĨā§‡āĻ•ā§‡ 1.12M āĻ…āĻ¨ā§āĻ°ā§‹āĻ§/āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ dhclient āĻ¯ā§‡ āĻ•āĻžāĻ°āĻŖā§‡ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻāĻšāĻž āĻ¸āĻ•ā§‡āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ• āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĨ¤
  • āĻ¸ā§āĻĒāĻŋāĻ¨ āĻ˛āĻ• āĻ¯ā§āĻĻā§āĻ§. sysctl “net.core.default_qdisc=noqueue” āĻāĻŦāĻ‚ “tc qdisc āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ dev eth0 root mq” āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•āĻŸāĻŋāĻ•ā§‡ “noqueue” āĻŽā§‹āĻĄā§‡ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻžāĻ° āĻĢāĻ˛ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻˇāĻŽāĻ¤āĻž 2% āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ āĻĨā§āĻ°ā§āĻĒā§āĻŸ 1.12M req/s āĻĨā§‡āĻ•ā§‡ āĻŦā§‡āĻĄāĻŧā§‡ 1.15M āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§
  • āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ›ā§‹āĻŸāĻ–āĻžāĻŸ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨, āĻ¯ā§‡āĻŽāĻ¨ "ethtool -K eth0 gro off" āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ GRO (āĻœā§‡āĻ¨āĻžāĻ°āĻŋāĻ• āĻ°āĻŋāĻ¸āĻŋāĻ­ āĻ…āĻĢāĻ˛ā§‹āĻĄ) āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ sysctl "net.ipv4.tcp_congestion_control=reno" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ‰āĻŦāĻŋāĻ• āĻ•āĻ¨āĻœā§‡āĻļāĻ¨ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽāĻ•ā§‡ āĻ°ā§‡āĻ¨ā§‹ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻžāĨ¤ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨āĻļā§€āĻ˛āĻ¤āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ›āĻŋāĻ˛ 4%āĨ¤ āĻĨā§āĻ°ā§āĻĒā§āĻŸ 1.15M req/s āĻĨā§‡āĻ•ā§‡ 1.2M req/s āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ

āĻ¯ā§‡ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻ¤āĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻāĻŽāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ“ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°ā§‡ āĻ¯āĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋāĻ° āĻĻāĻŋāĻ•ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ¨āĻŋā§ˇ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻŦāĻ˛ā§‡ āĻĒā§āĻ°āĻŽāĻžāĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

  • āĻ˛āĻŋāĻŦā§āĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĨā§‡āĻ•ā§‡ āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ›āĻŋāĻ˛ āĻ¨āĻžāĨ¤ Writv-āĻ•ā§‡ send āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž, epoll_wait-āĻ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹, āĻāĻŦāĻ‚ GCC āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ¤āĻžāĻ•āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻ›āĻŋāĻ˛ āĻ¨āĻž (āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° “-O3” āĻāĻŦāĻ‚ “-march-native” āĻĒāĻ¤āĻžāĻ•āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛āĻ•ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ›āĻŋāĻ˛)āĨ¤
  • āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻ•ā§‡ 4.19 āĻāĻŦāĻ‚ 5.4 āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ†āĻĒāĻ—ā§āĻ°ā§‡āĻĄ āĻ•āĻ°āĻž, SCHED_FIFO āĻāĻŦāĻ‚ SCHED_RR āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, sysctl kernel.sched_min_granularity_ns, kernel.sched_wakeup_granularity_ns, transparent_hugepages=never, tskew=tskew=1 āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ¨āĻŋāĨ¤
  • ENA āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡, āĻ…āĻĢāĻ˛ā§‹āĻĄ āĻŽā§‹āĻĄ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž (āĻ¸ā§‡āĻ—āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨, āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻŸāĻžāĻ°-āĻ—ā§āĻ¯āĻžāĻĻāĻžāĻ°, rx/tx āĻšā§‡āĻ•āĻ¸āĻžāĻŽ), “-O3” āĻĒāĻ¤āĻžāĻ•āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ ena.rx_queue_size āĻāĻŦāĻ‚ ena.force_large_llq_header āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻĒāĻĄāĻŧā§‡āĻ¨āĻŋāĨ¤
  • āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°ā§‡āĻ¨āĻŋ:
    • IPv6 āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨: ipv6.disable=1
    • VLAN āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨: modprobe -rv 8021q
    • āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ‰ā§ŽāĻ¸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨
      • net.ipv4.conf.all.rp_filter=0
      • net.ipv4.conf.eth0.rp_filter=0
      • net.ipv4.conf.all.accept_local=1 (āĻ¨ā§‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻĒā§āĻ°āĻ­āĻžāĻŦ)
    • āĻ¨ā§‡āĻŸ.ipv4.tcp_sack = 0
    • net.ipv4.tcp_dsack=0
    • net.ipv4.tcp_mem/tcp_wmem/tcp_rmem
    • net.core.netdev_budget
    • net.core.dev_weight
    • net.core.netdev_max_backlog
    • net.ipv4.tcp_slow_start_after_idle=0
    • net.ipv4.tcp_moderate_rcvbuf=0
    • net.ipv4.tcp_timestamps=0
    • āĻ¨ā§‡āĻŸ.ipv4.tcp_low_latency = 1
    • SO_PRIORITY
    • TCP_NODELAY

    āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨