Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:

Par metodoloÄ£iju mēs stāstÄ«jām pirmajā daļā rakstā, Å”ajā mēs testējam HTTPS, bet reālistiskākos scenārijos. TestēŔanai tika iegÅ«ts Let’s Encrypt sertifikāts, ieslēgta Brotli saspieÅ”ana ar 11.

Å oreiz mēģināsim reproducēt scenāriju servera izvietoÅ”anai VDS vai kā virtuālas maŔīnas uz hosta ar standarta procesoru. Lai to izdarÄ«tu, tika uzstādÄ«ts limits:

  • 25% — kas atbilst frekvencei ~ 1350MHz
  • 35% - 1890MHz
  • 41% — 2214MHz
  • 65% — 3510MHz

Vienlaicīgo savienojumu skaits samazinājās no 500 līdz 1, 3, 5, 7 un 9,

Rezultāti:

Aiztures:

TTFB tika izdalÄ«ts kā atseviŔķs tests, jo HTTPD rÄ«ki katram atseviŔķam pieprasÄ«jumam rada it kā jaunu lietotāju. Å is tests joprojām ir pietiekami atrauts no realitātes, jo lietotājs tomēr noklikŔķinās uz vairākām lapām, un reālajā dzÄ«vē galveno lomu spēlēs TTFP.

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Pirmais, vispār pirmais pieprasÄ«jums pēc virtuālās maŔīnas IIS pirmās palaiÅ”anas vidēji tiek izpildÄ«ts 120 ms.

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Visi sekojoÅ”ie pieprasÄ«jumi rāda TTFP 1.5 ms. Apache un Nginx Å”ajā atpaliek. Persona, kas raksta, uzskata Å”o testu par vispārējo rādÄ«tāju un izvēlētos uzvarētāju tikai pēc tā.
Rezultāts nav pārsteidzoÅ”s, jo IIS keÅ”atmiņā saglabā jau saspiestu statisko saturu un to katru reizi nepārsaspiež, kad pie tā griežas.

Laiks, kas pavadīts pie viena klienta

Lai novērtētu veiktspēju, pietiek ar testa ar 1 vienlaicīgu savienojumu.
Piemēram, IIS noslēdza testa ar 5000 lietotājiem 40 sekundēs, tas ir 123 pieprasījumi sekundē.

Grafikos zemāk ir norādÄ«ts laiks, lÄ«dz pilnÄ«gai satura nodoÅ”anai vietnei. Tas ir pieprasÄ«jumu Ä«patsvars, kas tika izpildÄ«ts noteiktā laikā. MÅ«su gadÄ«jumā 80% visu pieprasÄ«jumu tika apstrādāti 8ms uz IIS un 4.5ms uz Apache un Nginx, bet intervāls lÄ«dz 8 milisekundēm tika izpildÄ«ts 98% visu pieprasÄ«jumu uz Apache un Nginx.

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Laiks, kurā 5000 pieprasījumu tika apstrādāti:

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Laiks, kurā 5000 pieprasījumu tika apstrādāti:

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Ja jums ir virtuāla maŔīna ar 3.5GHz CPU un 8 kodoliem, tad izvēlieties to, ko vēlaties. Visi tÄ«mekļa serveri Å”ajā testēŔanā ir ļoti lÄ«dzÄ«gi. Par to, kuru tÄ«mekļa serveri izvēlēties katram hostam, runāsim zemāk.

Kad runa ir par nedaudz reālistiskāku situāciju, visi tīmekļa serveri ir vienā līmenī.

Ieguvums:

Aiztures grafiks no vienlaicÄ«go savienojumu skaita. Jo gludāks un zemāks – jo labāk. Pēdējie 2% tika izslēgti no grafikiem, jo tie padarÄ«tu tos nesalasāmus.

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Tagad aplūkosim variantu, kur serveris atrodas virtuālajā hostinga pakalpojuma. Ņemsim 4 kodolus pa 2.2GHz un vienu kodolu ar 1.8GHz.

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:

Kā scale

Ja jÅ«s jebkad esat redzējis, kā izskatās elektrovakuuma triodi, pentodi un tā tālāk, Å”ie grafiki bÅ«s jums pazÄ«stami. TieÅ”i to mēs cenÅ”amies noÄ·ert – piesātinājumu. Robeža, kad cik daudz kodolu jÅ«s pievienojat, veiktspējas pieaugums nav pamanāms.

IepriekÅ” visu izaicinājumu veidoja apstrādāt 98% pieprasÄ«jumu ar viszemāko aizturi visiem pieprasÄ«jumiem, cik vien iespējams vienmērÄ«gi turēt lÄ«kni. Tagad, izmantojot citas lÄ«kņu veidoÅ”anas metodes, atradÄ«sim optimālo darba punktu katram serverim.

Å im mērÄ·im mēs ņemsim Requests per second (RPR) rādÄ«tāju. Horizontāli ir biežums, vertikāli – pieprasÄ«jumu skaits, kas apstrādāts sekundē, lÄ«nijas – kodolu skaits.

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
RādÄ«ta korelācija, cik labi Nginx apstrādā pieprasÄ«jumus viens pēc otra. 8 kodolu Ŕādā testēŔanā rādÄ«s labākus rezultātus.

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Uz Ŕī grafika ir skaidri redzams, cik daudz labāk (ne tik daudz) Nginx strādā uz viena kodola. Ja jums ir Nginx, vērts apsvērt samazināt kodolu skaitu lÄ«dz vienam, ja vienÄ«gais, ko hostējat, ir statika.

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
IIS, kaut arī tam ir zemākais TTFB saskaņā ar DevTools Chrome, tomēr nespēj pārspēt ne Nginx, ne Apache nopietnā stress testā no Apache Foundation.

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:
Visa grafiku izliekums tiek nodroŔināts uz dzelzs.

Kāds secinājums:

Jā, Apache dzelzs stipri strādā vājāk uz 1 un 8 kodoliem, bet uz 4 kodoliem nedaudz labāk.

Jā, Nginx uz 8 kodoliem apstrādā labāk pieprasījumus viens pēc otra, bet uz 1 un 4 kodoliem darbojās sliktāk, ja ir daudz savienojumu.

Jā, IIS dod priekŔroku 4 kodoliem daudzkodolu slodzei un dod priekŔroku 8 kodoliem vienkodolu slodzei. Galu galā IIS bija nedaudz ātrāks par visiem uz 8 kodoliem ar augstu noslodzi, lai gan visi serveri gāja vienā līnijā.

Tas nav mērīŔanas kļūda, kļūdas robeža Å”eit nav lielāka par ±1ms aiztÅ«rē un ne vairāk kā ±2-3 pieprasÄ«jumiem sekundē par RPR.

Rezultāti, kad 8 kodoli izrādās vājāki, nemazina pārsteigumu, jo daudz kodolu un SMT/Hyperthreading ievērojami samazina veiktspēju, ja mums ir laika ierobežojums, ko mēs jābeidz visam pipeline.

Cīņa starp WEB serveriem. 2. daļa – reālistisks HTTPS scenārijs:

Avots: habr.com

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster