29Jul

Kuidas veebiserverid kuulavad uusi taotlusi?

Kui veebiserverite tundmaõppimine ja nende toimimine toimivad, võite olla uudishimulik, kui nad pidevalt päringuid kuulavad või kui nad ootavad, kuni nad saavad taotluse toimingu tegemiseks. Seda silmas pidades on tänapäeva SuperUseri Q ja postitusel vastused lugejate uudishimu rahuldamiseks.

tänapäeva küsimus &Vastuste seanss tuleb meile viisakalt SuperUseriga - Q & A veebisaitide kogukonnapõhise grupi Stack Exchange jagunemisest.

ekraanipildi tagab xmodulo / Linuxi ekraanipildid( Flickr).

Küsimus

SuperUser-lugeja user2202911 soovib teada, kuidas veebiserverid uut päringut kuulavad:

Püüan mõista veebisaitide tööde täpsemat teavet. Ma tahan teada, kas server, näiteks ütleb Apache, kasutab pidevalt uusi päringuid või kui see toimib mingi katkestussüsteemiga. Kui see katkeb, siis mis põhjustab katkestuse? Kas see on võrgukaardi draiver?

Kuidas veebiserver kuulab uusi päringuid?

Vastuseks

SuperUseri kaasautor Greg Bowserile on meile vastus:

Lühike vastus on mingi katkestussüsteem. Sisuliselt kasutavad nad uut andmevaate ootamisel blokeerimise sisend / väljundit, mis tähendab, et nad magavad( blokeerivad).

  1. Server loob kuulamissektsiooni ja blokeerib seejärel uute ühenduste ootamise ajaks. Sel ajal paneb kernel protsessi katkestatava une seisundisse ja käitab muid protsesse. See on oluline punkt;protsessiuuringute pidev läbimine CPU ressurssidega. Kernel suudab süsteemiressursse tõhusamalt kasutada, blokeerides protsessi, kuni selleks on vaja tööd teha.
  2. Kui võrku saabuvad uued andmed, katkestatakse võrgukaart.
  3. Võrgukaarti katkestades näeb kernel võrgukaardi draiveri kaudu uusi võrgukaardilt andmeid ja salvestab selle mällu.(Seda tuleb teha kiiresti ja enamasti käideldakse katkestuse käitlejana.)
  4. Kernel töötleb hiljuti saabunud andmeid ja seob seda pistikupessa. Selles pistikupesas blokeeritav protsess märgitakse käivitatavaks, mis tähendab, et see on nüüd sobilik käivitamiseks. See ei pruugi kohe käivituda( kernel võib otsustada käitada muid protsesse).
  5. Oma vabal ajal ärkab kernel blokeeritud veebiserveri protsessi.(Kuna see on nüüd käivitatav.)
  6. Veebiserveri protsess jätkub, nagu poleks möödunud. Selle blokeerimissüsteemi kõne naaseb ja töötleb uusi andmeid. Siis minna sammu 1 juurde.

Kas teil on seletamiseks midagi lisada? Helistage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Tutvu täieliku arutelu teemaga siit.