เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ Linux เชชเซเชฐเชคเชฟ เชธเซ‡เช•เชจเซเชก 1.2 เชฎเชฟเชฒเชฟเชฏเชจ JSON เชตเชฟเชจเช‚เชคเซ€เช“ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡

เชชเชฐเซเชฏเชพเชตเชฐเชฃเชจเซ‡ เชธเซเชฎเซ‡เชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชตเชฟเช—เชคเชตเชพเชฐ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชฟเช•เชพ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. Linux HTTP เชตเชฟเชจเช‚เชคเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฎเชพเชŸเซ‡ เชฎเชนเชคเซเชคเชฎ เช•เชพเชฎเช—เซ€เชฐเซ€ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡. เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เชชเชฆเซเชงเชคเชฟเช“เช เช…เชฎเชจเซ‡ เชเชฎเซ‡เชเซ‹เชจ EC2 เชชเชฐเซเชฏเชพเชตเชฐเชฃ (4 vCPUs) เชฎเชพเช‚ เชฒเชฟเชฌเซเชฐเซ‡เช•เซเชŸเชฐ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชชเชฐ เช†เชงเชพเชฐเชฟเชค JSON เชชเชพเชฐเซเชธเชฐเชจเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชเชฎเซ‡เชเซ‹เชจ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชนเซ‡เช เชณ เชชเซเชฐเชคเชฟ เชธเซ‡เช•เชจเซเชก 224 API เชตเชฟเชจเช‚เชคเซ€เช“เชฅเซ€ เชตเชงเชพเชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ€. Linux เช•เชฐเซเชจเชฒ 4.14 เชธเชพเชฅเซ‡ 2 เช เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชชเช›เซ€ เชฅเซเชฐเซเชชเซเชŸเชจเซ‡ เชชเซเชฐเชคเชฟ เชธเซ‡เช•เชจเซเชก 1.2 เชฎเชฟเชฒเชฟเชฏเชจ เชตเชฟเชจเช‚เชคเซ€เช“ เชธเซเชงเซ€ เชตเชงเชพเชฐเซเชฏเซ‹ (436% เชตเชงเชพเชฐเซ‹), เช…เชจเซ‡ เชตเชฟเชจเช‚เชคเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชตเชฟเชฒเช‚เชฌเชฎเชพเช‚ 79% เช˜เชŸเชพเชกเซ‹ เช•เชฐเซเชฏเซ‹. เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เชชเชฆเซเชงเชคเชฟเช“ เชฒเชฟเชฌเซเชฐเซ‡เช•เซเชŸเชฐ เชฎเชพเชŸเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เชจเชฅเซ€ เช…เชจเซ‡ nginx, Actix, Netty เช…เชจเซ‡ Node.js เชธเชนเชฟเชค เช…เชจเซเชฏ HTTP เชธเชฐเซเชตเชฐเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ (เชฒเชฟเชฌเซเชฐเซ‡เช•เซเชŸเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชชเชฐเซ€เช•เซเชทเชฃเซ‹เชฎเชพเช‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เชจเชพ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช‰เช•เซ‡เชฒ เชตเชงเซ เชธเชพเชฐเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡).

เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ Linux เชชเซเชฐเชคเชฟ เชธเซ‡เช•เชจเซเชก 1.2 เชฎเชฟเชฒเชฟเชฏเชจ JSON เชตเชฟเชจเช‚เชคเซ€เช“ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡

เชฎเซ‚เชณเชญเซ‚เชค เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ:

  • เชฒเชฟเชฌเซเชฐเซ‡เช•เซเชŸเชฐ เช•เซ‹เชกเชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡. เชŸเซ‡เช•เชฎเชชเชพเชตเชฐ เช•เซ€เชŸเชฎเชพเช‚เชฅเซ€ R18 เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชเช• เช†เชงเชพเชฐ เชคเชฐเซ€เช•เซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เชœเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ CPU เช•เซ‹เชฐเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‹เชกเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ€เชจเซ‡ เชธเซเชงเชพเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹ (เช“เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ 25-27% เชฆเซเชตเชพเชฐเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡), "-O3" เชตเชฟเช•เชฒเซเชชเซ‹ เชธเชพเชฅเซ‡ GCC เชฎเชพเช‚ เชเชธเซ‡เชฎเซเชฌเชฒ เชฅเชพเชฏ เช›เซ‡. (5-10% เชจเซ‹ เชตเชงเชพเชฐเซ‹) เช…เชจเซ‡ "-เชฎเชพเชฐเซเชš-เชจเซ‡เชŸเชฟเชต" (5-10%), เชฐเซ€เชก/เชฐเชพเช‡เชŸ เช•เซ‰เชฒเซเชธเชจเซ‡ recv/เชฎเซ‹เช•เชฒเซ‹ (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" เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐ (Spectre v1 + SWAPGS เชฅเซ€ เชฐเช•เซเชทเชฃ) เชฎเชพเช‚เชฅเซ€ เชฒเชพเชญ 1-2%, "nospectre_v2" (Spectre v2 เชฅเซ€ เชฐเช•เซเชทเชฃ) - 15-20%, "pti=off" (Spectre v3/Meltdown) - 6%, "mds=off tsx_async_abort=off" (MDS/Zombieload เช…เชจเซ‡ TSX เช…เชธเชฟเช‚เช•เซเชฐเซ‹เชจเชธ เชเชฌเซ‹เชฐเซเชŸ) - 6% เชนเชคเซ‹. L1TF/เชซเซ‹เชฐเชถเซ‡เชกเซ‹ เชนเซเชฎเชฒเชพเช“ (l1tf=flush), iTLB เชฎเชฒเซเชŸเซ€เชนเชฟเชŸ, เชธเชŸเซเชŸเชพเช•เซ€เชฏ เชธเซเชŸเซ‹เชฐ เชฌเชพเชฏเชชเชพเชธ เช…เชจเซ‡ SRBDS เชธเชพเชฎเซ‡ เชฐเช•เซเชทเชฃ เชฎเชพเชŸเซ‡เชจเซ€ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ, เชœเซ‡ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เช…เชธเชฐ เช•เชฐเชคเซ€ เชจ เชนเชคเซ€, เชคเซ‡เชจเซ‡ เชฏเชฅเชพเชตเชค เชฐเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ‡เชฒ เช—เซ‹เช เชตเชฃเซ€ เชธเชพเชฅเซ‡ เช›เซ‡เชฆเชคเซ€ เชจ เชนเชคเซ€ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เช›เซ‡). KVM, เชจเซ‡เชธเซเชŸเซ‡เชก เชตเชฐเซเชšเซเชฏเซเช…เชฒเชพเชˆเชเซ‡เชถเชจ เช…เชจเซ‡ เช…เชจเซเชฏ CPU เชฎเซ‹เชกเซ‡เชฒเซ‹).
  • "auditctl -a never,task" เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช“เชกเชฟเชŸเซ€เช‚เช— เช…เชจเซ‡ เชธเชฟเชธเซเชŸเชฎ เช•เซ‹เชฒ เชฌเซเชฒเซ‹เช•เซ€เช‚เช— เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเซเชธเชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเซเช‚ เช…เชจเซ‡ เชกเซ‹เช•เชฐ เช•เชจเซเชŸเซ‡เชจเชฐ เชถเชฐเซ‚ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ "--security-opt seccomp=unconfined" เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเซ‹. เชเช•เช‚เชฆเชฐ เช•เชพเชฎเช—เซ€เชฐเซ€เชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ 11% เชนเชคเซ‹, เช…เชจเซ‡ เชฅเซเชฐเซเชชเซเชŸ 446k req/s เชฅเซ€ เชตเชงเซ€เชจเซ‡ 495k req/s เชฅเชฏเซ‹.
  • เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เช•เชฐเซเชจเชฒ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เช…เชจเชฒเซ‹เชก เช•เชฐเซ€เชจเซ‡ iptables/netfilter เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเซเช‚. เชšเซ‹เช•เซเช•เชธ เชธเชฐเซเชตเชฐ เชธเซ‹เชฒเซเชฏเซเชถเชจเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชจ เชฒเซ‡เชตเชพเชฏเซ‡เชฒเชพ เชซเชพเชฏเชฐเชตเซ‹เชฒเชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเชพเชจเซ‹ เชตเชฟเชšเชพเชฐ เชชเซเชฐเซ‹เชซเชพเช‡เชฒเชฟเช‚เช— เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเซ‡เชฐเชฟเชค เชฅเชฏเซ‹ เชนเชคเซ‹, เชœเซ‡ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ nf_hook_slow เชซเช‚เช•เซเชถเชจ 18% เชธเชฎเชฏ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เชตเชฟเชคเชพเชตเซ‡ เช›เซ‡. เช เชจเซ‹เช‚เชงเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ nftables iptables เช•เชฐเชคเชพเช‚ เชตเชงเซ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช›เซ‡, เชชเชฐเช‚เชคเซ เชเชฎเซ‡เชเซ‹เชจ เชชเชฐ Linux iptables เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชšเชพเชฒเซ เชฐเชนเซ‡ เช›เซ‡. iptables เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เช•เชพเชฎเช—เซ€เชฐเซ€เชฎเชพเช‚ 22% เชจเซ‹ เชตเชงเชพเชฐเซ‹ เชฅเชฏเซ‹, เช…เชจเซ‡ เชฅเซเชฐเซเชชเซเชŸ 495k req/s เชฅเซ€ เชตเชงเซ€เชจเซ‡ 603k req/s เชฅเชฏเซ‹.
  • เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เช•เซ‡เชถเชจเชพ เช‰เชชเชฏเซ‹เช—เชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‹ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชตเชฟเชง CPU เช•เซ‹เชฐเซ‹ เชตเชšเซเชšเซ‡ เชนเซ‡เชจเซเชกเชฒเชฐเชจเซเช‚ เชธเซเชฅเชณเชพเช‚เชคเชฐ เช˜เชŸเชพเชกเซเชฏเซเช‚. เช“เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชธเซ€เชชเซ€เชฏเซ เช•เซ‹เชฐเซ‹ (เชธเซ€เชชเซ€เชฏเซ เชชเชฟเชจเชฟเช‚เช—) เช…เชจเซ‡ เชชเชฟเชจเชฟเช‚เช— เช•เชฐเซเชจเชฒ เชจเซ‡เชŸเชตเชฐเซเช• เชนเซ‡เชจเซเชกเชฒเชฐเซเชธ (เชฐเชฟเชธเซ€เชต เชธเชพเช‡เชก เชธเซเช•เซ‡เชฒเชฟเช‚เช—) เชฆเซเชตเชพเชฐเชพ เชฒเชฟเชฌเซเชฐเซ‡เชเช•เซเชŸเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซ‡ เชฌเช‚เชงเชจเช•เชฐเซเชคเชพ เชธเซเชคเชฐเซ‡ เชฌเช‚เชจเซ‡ เชฐเซ€เชคเซ‡ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, irqbalance เช…เช•เซเชทเชฎ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚ เช…เชจเซ‡ /proc/irq/$IRQ/smp_affinity_list เชฎเชพเช‚ CPU เชธเชพเชฅเซ‡ เช•เชคเชพเชฐเชจเซ€ เชเชซเชฟเชจเชฟเชŸเซ€ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชธเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. เชฒเชฟเชฌเซเชฐเซ‡เชเช•เซเชŸเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช…เชจเซ‡ เช‡เชจเช•เชฎเชฟเช‚เช— เชชเซ‡เช•เซ‡เชŸเซ‹เชจเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เช•เชคเชพเชฐ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ CPU เช•เซ‹เชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช•เชธเซเชŸเชฎ BPF เชนเซ‡เชจเซเชกเชฒเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เชธเซ‹เช•เซ‡เชŸ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡ SO_ATTACH_REUSEPORT_CBPF เชซเซเชฒเซ‡เช— เชธเซ‡เชŸ เช•เชฐเซ€เชจเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เช›เซ‡. เช†เช‰เชŸเช—เซ‹เช‡เช‚เช— เชชเซ‡เช•เซ‡เชŸเซ‹เชจเซ€ เช•เชคเชพเชฐเซ‹เชจเซ‡ CPU เชธเชพเชฅเซ‡ เชœเซ‹เชกเชตเชพ เชฎเชพเชŸเซ‡, เชธเซ‡เชŸเชฟเช‚เช—เซเชธ /sys/class/net/eth0/queues/tx- เชฌเชฆเชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. /xps_cpus. เชเช•เช‚เชฆเชฐ เช•เชพเชฎเช—เซ€เชฐเซ€เชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ 38% เชนเชคเซ‹, เช…เชจเซ‡ เชฅเซเชฐเซเชชเซเชŸ 603k req/s เชฅเซ€ เชตเชงเซ€เชจเซ‡ 834k req/s เชฅเชฏเซ‹.
  • เช‡เชจเซเชŸเชฐเชชเซเชŸ เชนเซ‡เชจเซเชกเชฒเชฟเช‚เช— เช…เชจเซ‡ เชฎเชคเชฆเชพเชจเชจเชพ เช‰เชชเชฏเซ‹เช—เชจเซเช‚ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ. ENA เชกเซเชฐเชพเช‡เชตเชฐเชฎเชพเช‚ เช…เชจเซเช•เซ‚เชฒเชจเชถเซ€เชฒ-rx เชฎเซ‹เชกเชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพเชฅเซ€ เช…เชจเซ‡ sysctl net.core.busy_read เชจเซ‡ เชฎเซ‡เชจเซเชฏเซเชชเซเชฏเซเชฒเซ‡เชŸ เช•เชฐเชตเชพเชฅเซ€ เชชเซเชฐเชญเชพเชตเชฎเชพเช‚ 28% เชตเชงเชพเชฐเซ‹ เชฅเชฏเซ‹ เช›เซ‡ (เชฅเซเชฐเซเชชเซเชŸ 834k req/s เชฅเซ€ เชตเชงเซ€เชจเซ‡ 1.06M req/s, เช…เชจเซ‡ เชฒเซ‡เชŸเชจเซเชธเซ€ 361ฮผs เชฅเซ€ เช˜เชŸเซ€เชจเซ‡ 292ฮผs เชฅเชˆ เช›เซ‡).
  • เชฌเชฟเชจเชœเชฐเซ‚เชฐเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชธเซเชŸเซ‡เช• เชฒเซ‹เช•เชจเซเช‚ เช•เชพเชฐเชฃ เชฌเชจเซ‡ เชคเซ‡เชตเซ€ เชธเชฟเชธเซเชŸเชฎ เชธเซ‡เชตเชพเช“เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเซ€. dhclient เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเซเช‚ เช…เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเซเช‚ IP เชธเชฐเชจเชพเชฎเชพเช‚ เช† เช•เชพเชฐเซเชฏ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เช•เชฐเชตเชพเชฅเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชฎเชพเช‚ 6% เชตเชงเชพเชฐเซ‹ เชฅเชฏเซ‹, เชฅเซเชฐเซเชชเซเชŸ 1.06 เชฎเชฟเชฒเชฟเชฏเชจ เชฐเซ‡เช•เซเชฏเซ/เชธเซ‡เช•เชจเซเชกเชฅเซ€ เชตเชงเซ€เชจเซ‡ 1.12 เชฎเชฟเชฒเชฟเชฏเชจ เชฐเซ‡เช•เซเชฏเซ/เชธเซ‡เช•เชจเซเชก เชฅเชฏเซ‹. 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 เชฅเชฏเซ‹ เช›เซ‡.

เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชœเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เช‰เชชเชฐเชพเช‚เชค, เชฒเซ‡เช– เชเชตเซ€ เชชเชฆเซเชงเชคเชฟเช“เชจเซ€ เชชเชฃ เชšเชฐเซเชšเชพ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เช…เชชเซ‡เช•เซเชทเชฟเชค เชชเซเชฐเชฆเชฐเซเชถเชจเชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชจ เชนเชคเซ€. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชจเซ€เชšเซ‡เชจเชพ เชฌเชฟเชจเช…เชธเชฐเช•เชพเชฐเช• เชนเซ‹เชตเชพเชจเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡:

  • เชฒเชฟเชฌเซเชฐเซ‡เชเช•เซเชŸเชฐเชจเซ‡ เช…เชฒเช—เชฅเซ€ เชšเชฒเชพเชตเชตเซเช‚ เช เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชšเชฒเชพเชตเชตเชพ เช•เชฐเชคเชพเช‚ เชชเซเชฐเชญเชพเชตเชฎเชพเช‚ เช…เชฒเช— เชจ เชนเชคเซเช‚. writev เชจเซ‡ เชฎเซ‹เช•เชฒเชตเชพเชฅเซ€ เชฌเชฆเชฒเชตเซเช‚, epoll_wait เชฎเชพเช‚ เชฎเชนเชคเซเชคเชฎ เช‡เชตเซ‡เชจเซเชŸเซเชธ เชตเชงเชพเชฐเชตเซ€, เช…เชจเซ‡ GCC เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เช…เชจเซ‡ เชซเซเชฒเซ‡เช—เซเชธ เชธเชพเชฅเซ‡ เชชเซเชฐเชฏเซ‹เช— เช•เชฐเชตเชพเชฅเซ€ เช•เซ‹เชˆ เช…เชธเชฐ เชฅเชˆ เชจเชฅเซ€ (เช…เชธเชฐ เชซเช•เซเชค "-O3" เช…เชจเซ‡ "-เชฎเชพเชฐเซเชš-เชจเซ‡เชŸเชฟเชต" เชซเซเชฒเซ‡เช—เซ‹ เชฎเชพเชŸเซ‡ เชœ เชจเซ‹เช‚เชงเชจเซ€เชฏ เชนเชคเซ€).
  • เช•เชฐเซเชจเชฒ เช…เชชเชกเซ‡เชŸเชฅเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€ เชชเชฐ เช•เซ‹เชˆ เช…เชธเชฐ เชฅเชˆ เชจเชฅเซ€. Linux SCHED_FIFO เช…เชจเซ‡ SCHED_RR เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชตเชฐเซเชเชจ 4.19 เช…เชจเซ‡ 5.4 เชธเซเชงเซ€, sysctl kernel.sched_min_granularity_ns, kernel.sched_wakeup_granularity_ns, transparent_hugepages=never, skew_tick=1 เช…เชจเซ‡ clocksource=tsc เชจเซ‡ เชนเซ‡เชฐเชซเซ‡เชฐ เช•เชฐเซ‡ เช›เซ‡.
  • 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 (เชจเช•เชพเชฐเชพเชคเซเชฎเช• เช…เชธเชฐ)
    • net.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
    • net.ipv4.tcp_low_latency = 1
    • SO_PRIORITY
    • TCP_NODELAY

    เชธเซ‹เชฐเซเชธ: opennet.ru

DDoS เชธเซเชฐเช•เซเชทเชพ, VPS VDS เชธเชฐเซเชตเชฐ เชงเชฐเชพเชตเชคเซ€ เชธเชพเช‡เชŸเซเชธ เชฎเชพเชŸเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชนเซ‹เชธเซเชŸเชฟเช‚เช— เช–เชฐเซ€เชฆเซ‹ ๐Ÿ”ฅ DDoS เชธเซเชฐเช•เซเชทเชพ, VPS VDS เชธเชฐเซเชตเชฐเซเชธ เชธเชพเชฅเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชตเซ‡เชฌเชธเชพเช‡เชŸ เชนเซ‹เชธเซเชŸเชฟเช‚เช— เช–เชฐเซ€เชฆเซ‹ | ProHoster