Бо истифода аз зерсистемаи Linux io_uring сервери HTTP-ро муаррифӣ кард

Сервери паймоне аз HTTP интишор шуд, ки барои истифодаи интерфейси асинхронии io_uring I/O, ки дар ядрои Linux пешниҳод шудааст, намоён аст. Сервер протоколи HTTP/1.1-ро дастгирӣ мекунад ва барои истеъмоли ками захираҳо дар ҳоле тарҳрезӣ шудааст, ки вазифаи хеле заруриро таъмин мекунад. Масалан, hinsightd TLS, проксии баръакс (rproxy), кэшкунии мундариҷаи ба таври динамикӣ тавлидшуда дар системаи файлии маҳаллӣ, фишурдани маълумот дар вақти парвоз, бозоғози бепайваст, пайвасти коркардкунандагони дархостҳои динамикӣ бо истифода аз механизмҳои FastCGI ва CGI -ро дастгирӣ мекунад. Рамзи лоиҳа дар C навишта шудааст ва таҳти иҷозатномаи BSD паҳн карда мешавад.

Барои коркарди конфигуратсия, навиштани иловаҳо ва эҷоди коркардкунандагони дархост, қобилияти истифодаи забони Lua дода мешавад, дар ҳоле ки чунин коркардкунандагонро бевосита дар файли конфигуратсияи сервер муайян кардан мумкин аст. Дар шакли плагинҳо, хусусиятҳо ба монанди тағир додани формати сабти ном, пайваст кардани гузоришҳои инфиродӣ ба ҳостҳои виртуалӣ, муайян кардани стратегияи мувозинати сарборӣ, аутентификатсияи HTTP, дубора навиштани URL ва кори ба нақша гирифташуда (масалан, навсозии сертификатҳои Биёед рамзкунонӣ кунем) амалӣ карда мешаванд. шакли плагинҳо.

Сервер бо китобхона барои ҳамгироӣ кардани функсияҳои hnsightd ба замимаҳои шумо меояд. Hinsightd инчунин функсияҳои маҷмӯӣ барои фиристодани дархостҳои HTTP аз сатри фармонро дар бар мегирад, масалан, барои бор кардани саҳифа, шумо метавонед "hinsightd -d URL" -ро иҷро кунед. Сервер хеле зич аст ва тақрибан 200 КБ (китобхонаи муштараки 100 КБ иҷрошаванда ва 100 КБ) мегирад. Вобастагии беруна танҳо libc, lua, liburing ва zlib ва ихтиёрӣ openssl/libressl ва ffcall-ро дар бар мегиранд.

Нақшаҳои рушди минбаъда аз қобилияти нигоҳ доштани файлҳои фишурда дар кэш, изолятсияи қуттии қум дар асоси филтри зангҳои системавӣ ва истифодаи фазои номҳо, идоракунии фарохмаҷро (ташаккули трафик), мултимедия, коркарди беҳтари хатогиҳо ва таърифи ҳостҳои виртуалӣ дар асоси ниқобҳо иборатанд.

Натиҷаҳои санҷиши самаранокии синтетикӣ (бе оптимизатсия дар конфигуратсия, тавре ки ҳаст) аз ҷониби утилитаи ab ҳангоми иҷро кардани 250 ва 500 (дар қавс) дархостҳои мувозӣ ("ab -k -c 250 -n 10000 http://localhost/"):

  • hisightd/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

Илова Эзоҳ