เปเบ™เบฐเบ™เบณเป€เบŠเบตเบšเป€เบงเบต HTTP hinsightd, เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰ Linuxเบฅเบฐเบšเบปเบšเบเปˆเบญเบ -io_uring

เป€เบŠเบตเบšเป€เบงเบต HTTP เบ‚เบฐเปœเบฒเบ”เบเบฐเบ—เบฑเบ”เบฎเบฑเบ”, hinsightd, เป„เบ”เป‰เบ–เบทเบเป€เบœเบตเบเปเบœเปˆ, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเบเบฑเบ™เบ”เบตเปƒเบ™เบเบฒเบ™เบ™เบณเปƒเบŠเป‰ kernel เบ—เบตเปˆเบชเบฐเปœเบญเบ‡เปƒเบซเป‰. Linux เบญเบดเบ™เป€เบ•เบตเป€เบŸเบ”เบญเบดเบ™เบžเบธเบ”/เบญเบญเบเบœเบปเบ™เปเบšเบšเบšเปเปˆเบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡ io_uring. เป€เบŠเบตเบšเป€เบงเบตเบฎเบญเบ‡เบฎเบฑเบšเป‚เบ›เบฃเป‚เบ•เบ„เบญเบ™ HTTP/1.1 เปเบฅเบฐเบ–เบทเบเบญเบญเบเปเบšเบšเปƒเบซเป‰เบกเบตเบ™เป‰เบณเปœเบฑเบเป€เบšเบปเบฒ เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเปƒเบซเป‰เปœเป‰เบฒเบ—เบตเปˆเบ—เบตเปˆเบ™เบดเบเบปเบก. เบ•เบปเบงเบขเปˆเบฒเบ‡, hinsightd เบฎเบญเบ‡เบฎเบฑเบš TLS, เบเบฒเบ™ reverse proxying (rproxy), เบเบฒเบ™ caching เบ‚เบญเบ‡เป€เบ™เบทเป‰เบญเบซเบฒเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปเบšเบšเป„เบ”เบ™เบฒเบกเบดเบเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™เปเบšเบšเบ—เบฑเบ™เบ—เบต, เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเปเปˆเป‚เบ”เบเบšเปเปˆเบ—เบณเบฅเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™, เปเบฅเบฐ เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ„เบณเบฎเป‰เบญเบ‡เบ‚เปเปเบšเบšเป„เบ”เบ™เบฒเบกเบดเบเป‚เบ”เบเปƒเบŠเป‰เบเบปเบ™เป„เบ FastCGI เปเบฅเบฐ CGI. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบ–เบทเบเบ‚เบฝเบ™เบ”เป‰เบงเบเบžเบฒเบชเบฒ C เปเบฅเบฐ เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD.

เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปƒเบŠเป‰เบžเบฒเบชเบฒ Lua เปเบกเปˆเบ™เบชเบฐเปœเบญเบ‡เปƒเบซเป‰เบชเบณเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เบเบฒเบ™เบ‚เบฝเบ™ add-ons เปเบฅเบฐ เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบณเบ™เบปเบ”เป‚เบ”เบเบเบปเบ‡เปƒเบ™เป„เบŸเบฅเปŒ เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบŠเบตเบšเป€เบงเบตเบ›เบฅเบฑเบเบญเบดเบ™เปƒเบซเป‰เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ•เปˆเบฒเบ‡เป†เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบ›เปˆเบฝเบ™เบฎเบนเบšเปเบšเบšเบšเบฑเบ™เบ—เบถเบ, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบšเบฑเบ™เบ—เบถเบเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบเบฑเบšเป‚เบฎเบ”เป€เบชเบกเบทเบ™, เบเบฒเบ™เบเบณเบ™เบปเบ”เบเบธเบ”เบ—เบฐเบชเบฒเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”, เบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™เบ•เบปเบงเบ•เบปเบ™ HTTP, เบเบฒเบ™เบ‚เบฝเบ™ URL เบ„เบทเบ™เปƒเปเปˆ, เปเบฅเบฐ เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปœเป‰เบฒเบงเบฝเบเบ—เบตเปˆเบเบณเบ™เบปเบ”เป€เบงเบฅเบฒเป„เบงเป‰ (เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™ Let's Encrypt).

เบžเป‰เบญเบกเบ”เป‰เบงเบ เป€เบŠเบตเบšเป€เบงเบต เบกเบตเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบชเบณเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™ hinsightd เป€เบ‚เบปเป‰เบฒเปƒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. Hinsightd เบเบฑเบ‡เบ›เบฐเบเบญเบšเบกเบตเบŸเบฑเบ‡เบŠเบฑเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบชเบณเบฅเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบ„เบณเบฎเป‰เบญเบ‡เบ‚เป HTTP เบˆเบฒเบเบšเบฑเบ™เบ—เบฑเบ”เบ„เบณเบชเบฑเปˆเบ‡; เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเป‚เบซเบผเบ”เปœเป‰เบฒเป€เบงเบฑเบš, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰ "hinsightd -d URL." เป€เบŠเบตเบšเป€เบงเบตเบกเบตเบ‚เบฐเปœเบฒเบ”เบ™เป‰เบญเบเบซเบผเบฒเบ, เปƒเบŠเป‰เบžเบทเป‰เบ™เบ—เบตเปˆเบ›เบฐเบกเบฒเบ™ 200 KB เบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ„เบญเบกเป„เบžเบฅเปŒ (100 KB เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰ เปเบฅเบฐ 100 KB shared library). เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบžเบฒเบเบ™เบญเบเบ›เบฐเบเบญเบšเบกเบตเบžเบฝเบ‡เปเบ•เปˆ libc, lua, liburing, เปเบฅเบฐ zlib, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš openssl/libressl เปเบฅเบฐ ffcall เบ—เบตเปˆเป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

เปเบœเบ™เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เบทเปˆเบกเบญเบตเบเบ›เบฐเบเบญเบšเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเบ—เบตเปˆเบ–เบทเบเบšเบตเบšเบญเบฑเบ”เบขเบนเปˆเปƒเบ™เปเบ„เบ”, เบเบฒเบ™เปเบเบ sandbox เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ namespaces, เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เปเบšเบ™เบงเบดเบ” (เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™), multithreading, เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปเบฅเบฐเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบญเบ‡ virtual hosts เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบซเบ™เป‰เบฒเบเบฒเบ.

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฑเบ‡เป€เบ„เบฒเบฐ (เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ›เบฑเบ™) เป‚เบ”เบ ab utility เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบฅเปˆเบ™ 250 เปเบฅเบฐ 500 (เปƒเบ™เบงเบปเบ‡เป€เบฅเบฑเบš) เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ‚เบฐเบซเบ™เบฒเบ™ ("ab -k -c 250 -n 10000 http://localhost/"):

  • hinsightd/0.9.17 - 63035.01 เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต (54984.63)
  • lighttpd/1.4.67 - 53693.29 เบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต (1613.59)
  • Apache/2.4.54 - 37474.10 เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต (34305.55)
  • Caddy/2.6.2 - 35412.02 เบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต (33995.57)
  • nginx/1.23.2 - 26673.64 เบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต (26172.73)

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster