Yakaunza hinsightd HTTP server uchishandisa Linux io_uring subsystem

Iyo compact HTTP sevha, hinsightd, yakaburitswa, inozivikanwa pakushandisa kwayo io_uring asynchronous I/O interface yakapihwa muLinux kernel. Sevha inotsigira HTTP/1.1 protocol uye yakagadzirirwa kushandiswa kwakaderera kwekushandisa uku ichipa mu-inoda kushanda. Semuyenzaniso, hinsightd inotsigira TLS, reverse proxying (rproxy), caching dynamically generated content in the local file system, on-the-fly compression of transmitted data, kutangazve pasina kutyora kubatanidza kwakasimbiswa, kubatanidza vane simba rekukumbira vashandi vachishandisa FastCGI neCGI maitiro. Iyo kodhi yeprojekiti yakanyorwa muC uye yakagoverwa pasi peiyo BSD rezinesi.

Kuti ugadzirise zvigadziriso, nyora zvinyorwa uye ugadzire zvikumbiro zvekukumbira, zvinokwanisika kushandisa mutauro weLua, uye vabati vakadaro vanogona kutsanangurwa zvakananga mufaira rekugadzirisa sevha. Muchimiro chemaplugins, maficha akadai sekuchinja iyo log yekurekodha fomati, kubatanidza matanda ega kune chaiwo mauto, kutsanangudza nzira yekuenzanisa mitoro, kuvimbiswa kweHTTP, kunyorazve URL uye kuita basa rakarongwa (semuenzaniso, kuvandudza Let's Encrypt zvitupa) zvinoitwa.

Sevha inouya neraibhurari yekubatanidza hinsightd mashandiro mumashandisirwo ako. Hinsightd inosanganisirawo mashandiro akabatanidzwa ekutumira zvikumbiro zveHTTP kubva kumutsara wekuraira, semuenzaniso, unogona kumhanya kuraira "hinsightd -d URL" kurodha peji. Iyo sevha inonyatso compact uye inotora anenge 200KB mufomu yakanyorwa (100KB faira rekuita uye 100KB yakagovaniswa raibhurari). Zvinoenderana nekunze zvinosanganisira chete libc, lua, liburing uye zlib, uye nesarudzo openssl/libressl uye ffcall.

Zvirongwa zvekuenderera mberi kusimudzira zvinosanganisira kugona kuvharira mafaera akamanikidzwa, sandbox kuparadzaniswa zvichibva pakusefa system mafoni uye kushandisa mazita, kuumbwa kwetraffic, kuwanda-tambo, kugadzirisa kukanganisa kubata uye mask-based virtual host kuona.

Mibairo yekuongororwa kwekuita kwekugadzira (pasina optimizations mukugadzirisa sezvazviri) neab utility paunenge uchimhanyisa 250 ne500 (mumaparentheses) zvikumbiro zvakafanana ("ab -k -c 250 -n 10000 http://localhost/”):

  • hinsightd/0.9.17 – 63035.01 zvikumbiro pasekondi (54984.63)
  • lighttpd/1.4.67 - 53693.29 zvikumbiro pasekondi (1613.59)
  • Apache/2.4.54 - 37474.10 zvikumbiro pasekondi (34305.55)
  • Caddy/2.6.2 – 35412.02 zvikumbiro pasekondi (33995.57)
  • nginx/1.23.2 - 26673.64 zvikumbiro pasekondi (26172.73)

Source: opennet.ru

Voeg