рд▓рд┐рдирдХреНрд╕ io_uring рдЙрдкрдкреНрд░рдгрд╛рд▓реА рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ hinsightd HTTP рд╕рд░реНрднрд░ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдпреЛ

рдПрдЙрдЯрд╛ рдХрдореНрдкреНрдпрд╛рдХреНрдЯ hinsightd HTTP рд╕рд░реНрднрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рдорд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ io_uring рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ I/O рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЙрд▓реНрд▓реЗрдЦрдиреАрдпред рд╕рд░реНрднрд░рд▓реЗ HTTP/1.1 рдкреНрд░реЛрдЯреЛрдХрд▓рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ рд░ рдзреЗрд░реИ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрд╛ рдХрдо рд╕реНрд░реЛрдд рдЦрдкрддрдХреЛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, hinsightd рд▓реЗ TLS рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рд░рд┐рднрд░реНрд╕ рдкреНрд░реЛрдХреНрд╕реА (rproxy), рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рдЙрддреНрдкрдиреНрди рд╕рд╛рдордЧреНрд░реАрдХреЛ рдХреНрдпрд╛рд╕рд┐рдЩ, рдЕрди-рдж-рдлреНрд▓рд╛рдЗ рдбрд╛рдЯрд╛ рдХрдореНрдкреНрд░реЗрд╕рди, рдЬрдбрд╛рдирд╡рд┐рд╣реАрди рдкреБрди: рд╕реБрд░реБ, FastCGI рд░ CGI рд╕рдВрдпрдиреНрддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЧрддрд┐рд╢реАрд▓ рдЕрдиреБрд░реЛрдз рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВрдХреЛ рдЬрдбрд╛рдиред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб C рднрд╛рд╖рд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рд░ BSD рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдЫред

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрди, рдердкреНрди рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН рд░ рдЕрдиреБрд░реЛрдз рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд▓реБрдЖ рднрд╛рд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрдмрдХрд┐ рддреНрдпрд╕реНрддрд╛ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВрд▓рд╛рдИ рд╕реАрдзрд╛ рд╕рд░реНрднрд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдХреЛ рд░реВрдкрдорд╛, рд▓рдЧрд┐рдЩ рдврд╛рдБрдЪрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд▓рдЧрд╣рд░реВрд▓рд╛рдИ рднрд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯрд╣рд░реВрдорд╛ рд▓рд┐рдЩреНрдХ рдЧрд░реНрдиреЗ, рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд┐рдЩ рд░рдгрдиреАрддрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдиреЗ, HTTP рдкреНрд░рдорд╛рдгреАрдХрд░рдг, URL рдкреБрди: рд▓реЗрдЦреНрдиреЗ, рд░ рдЕрдиреБрд╕реВрдЪрд┐рдд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдп (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд▓реЗрдЯреНрд╕ рдЗрдиреНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреЗ) рдЬрд╕реНрддрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫрдиреНред рдкреНрд▓рдЧрдЗрди рдХреЛ рд░реВрдкред

рд╕рд░реНрднрд░ рддрдкрд╛рдИрдВрдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ hinsightd рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдПрдХреАрдХреГрдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рд╕рд╛рде рдЖрдЙрдБрдЫред Hinsightd рд▓реЗ рдЖрджреЗрд╢ рд░реЗрдЦрд╛рдмрд╛рдЯ HTTP рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкрдард╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдХреАрдХреГрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрдирд┐ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреГрд╖реНрда рд▓реЛрдб рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ "hinsightd -d URL" рдЪрд▓рд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рд╕рд░реНрднрд░ рдзреЗрд░реИ рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рдЫ рд░ рд▓рдЧрднрдЧ 200KB рдХрдореНрдкрд╛рдЗрд▓ рд▓рд┐рдиреНрдЫ (100KB рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рд░ 100KB рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп)ред рдмрд╛рд╣реНрдп рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВрд▓реЗ libc, lua, liburing рд░ zlib, рд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдкрдорд╛ openssl/libressl рд░ ffcall рдорд╛рддреНрд░ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред

рдердк рд╡рд┐рдХрд╛рд╕рдХрд╛ рд▓рд╛рдЧрд┐ рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рдХреНрдпрд╛рд╕рдорд╛ рдХрдореНрдкреНрд░реЗрд╕ рдЧрд░рд┐рдПрдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛, рдкреНрд░рдгрд╛рд▓реА рдХрд▓ рдлрд┐рд▓реНрдЯрд░рд┐рдЩрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕реНрдпрд╛рдиреНрдбрдмрдХреНрд╕ рдЖрдЗрд╕реЛрд▓реЗрд╕рди рд░ рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧ, рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рдЯреНрд░рд╛рдлрд┐рдХ рд╢реЗрдкрд┐рдЩ), рдорд▓реНрдЯрд┐рдереНрд░реЗрдбрд┐рдЩ, рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рддреНрд░реБрдЯрд┐ рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдЩ рд░ рдорд╛рд╕реНрдХрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рднрд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯрд╣рд░реВрдХреЛ рдкрд░рд┐рднрд╛рд╖рд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫред

250 рд░ 500 (рдХреЛрд╖реНрдардХрдорд╛) рд╕рдорд╛рдирд╛рдиреНрддрд░ рдЕрдиреБрд░реЛрдзрд╣рд░реВ ("ab -k -c 250 -n 10000 http://localhost/") рдЪрд▓рд╛рдЙрдБрджрд╛ ab рдЙрдкрдпреЛрдЧрд┐рддрд╛рджреНрд╡рд╛рд░рд╛ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдгрдХреЛ рдирддрд┐рдЬрд╛ (рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирд╣рд░реВ рдмрд┐рдирд╛):

  • 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди