WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:

Энэ нийтлэлд бид урвуу инженерчлэл дээр гараа туршиж үзэх болно гэж хэн нэгэн хэлж магадгүй юм. Бид өөрсдийн бохир гараа вэб сервер бүрийн халхавчны доор авч, хэн ч хэзээ ч ашиглаж чадахгүй байдлаар ашиглах болно.

Энэ туршилт нь бөмбөрцөг хэлбэрийн морины вакуум дахь хэмжилт бөгөөд олж авсан мэдээллээс өөр зүйл биш бөгөөд одоо бид үүнийг юу хийхээ мэдэхгүй байна.

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:

Арга зүй

Nginx болон Apache-д зориулсан үйлдлийн систем нь IIS Windows Server Core 18.04-д зориулагдсан Ubuntu 2019 LTS юм. Туршилтын өмнө бүх үйлдлийн системүүд 04.12.2019 оны XNUMX-р сарын XNUMX-ний байдлаар хамгийн сүүлийн үеийн шинэчлэлтүүдийг хүлээн авсан.

Туршилтыг зөвхөн HTTP дээр хийсэн. Вэб сервер бүр Codrops-ийн үнэгүй Jekyll загвар болох ижил хуудсыг ажиллуулдаг. холбоос. Вэб сервер бүр gzip шахалтыг идэвхгүй болгосон.

Хүчин чадлын туршилтыг Httpd-tools ашиглан дараах аргументуудтай хийсэн.

ab -n 50000 -c 500 http://192.168.76.204:80/

Серверүүд нь 10, 5, нэг цөмт цөмийн 1, 8, 4 хувиар хязгаарлагдсан. Туршилтын сандал нь 9900K@5400MHz давтамжтай компьютер байсан бөгөөд энэ нь 10%-ийн хязгаарыг хүлээн авч буй сервер нэг цөмд ойролцоогоор 540MHz хүлээн авдаг гэсэн үг юм.

TTFB туршилтыг серверийг DevTools ашиглан анх ачаалж, хэмжилт хийх үед хийсэн бөгөөд үр дүнг хүлээн авсны дараа серверийг унтрааж, ямар ч төрлийн кэш харагдахгүй байхын тулд өмнөх хяналтын цэг рүү буцсан.

Тестер болон вэб сервер нь нэг хост болон нэг виртуал шилжүүлэгч дээр байсан.

Дискний дэд системийг нэн даруй үнэлэхийн тулд ATTO болон CrystalDIskMark-ийн жишиг үзүүлэлтүүдийн үр дүнд саад бэрхшээлийн талаар ойлголттой болно.

Виртуал машинаас авсан өгөгдөл:WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:

Үр дүн:

TTFB:

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
IIS-ийн дундаж TTFB нь Apache-ийн хувьд 0,5ms, Nginx-ийн хувьд 1,4ms-ийн эсрэг хамгийн бага буюу 4ms байна.

Дамжуулах хэсэг

Эхлээд сервер тус бүр нь цөмийн тооноос хамаарч хэр сайн хэмжигдэж байгааг харцгаая.

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
График нь вэб сервер рүү шалгагчийн дуудлагын тоо болон хоцролтыг харуулж байна. Графикаас харахад NGINX нь бүх хүсэлтийн 98% -ийг боловсруулж, сайтыг 20 мс буюу түүнээс бага хугацаанд хүргэж байна. IIS нь Apache шиг бүх дуудлагын сүүлийн 5%-ийг 76ms ба 14ms-д тус тус гүйцэтгэсэн.

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
График нь стресс тестийн үед нэг хүсэлтийг боловсруулах дундаж хугацааг харуулж байна.

Графикаас харж байгаагаар IIS нь Apache болон Nginx-ийг хоёуланг нь устгаж, ачаалал ихтэй үед мэдэгдэхүйц удаашруулжээ. 

IIS нь 4-аас илүү XNUMX цөмийг илүүд үзсэн нь XNUMX-т бага хоцролтыг харуулсан боловч нэг цөмд тийм ч их таалагдаагүй.

NGINX нь бүх 8 цөмд сайн цар хүрээтэй бөгөөд Apache-ийн хувьд нэг цөмт хувилбар нь хамгийн сайн сонголт юм шиг санагддаг.

Өргөтгөх чадвар:

Nginx:

Одоо давтамж болон цөмийн тооны хувьд өргөтгөх чадварыг харцгаая. 

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
Nginx нь 1 ба 4 цөмд 1% -ийн хязгаартай туршилтыг давж чадаагүй бөгөөд 2000 хүсэлтээс хэтэрсэн тохиолдолд шалгагчтай холболтыг зогсоосон.

Apache:

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
Apache нь Nginx шиг 2500 хүсэлтийг боловсруулсны дараа бууж өгч, холболтыг хаасан. Apache нь 8, 4, 1 цөм дээр 1% -ийн хязгаартай туршилтанд тэнцээгүй боловч үүнээс гадна нэг цөм дээр 5% -ийн хязгаарлалттай туршилтанд тэнцээгүй нь Nginx-ээс муу юм.

IIS:

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
Туршилтын үеэр IIS асар их хүсэлтийг цуглуулсан боловч тус бүрийг нь боловсруулжээ. Хүсэлтийг боловсруулахад ямар ч хугацаа байхгүй бололтой.

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
График нь шалгалтыг дуусгахад зарцуулсан хугацааг харуулж байна. Бүрэн утгагүй туршилтын тохиргоог устгасан. Диаграмм нь IIS нь техник хангамжийн хувьд хэр их эрэлт хэрэгцээтэй, NGINX ямар гайхамшигтай болохыг харуулж байна.

Дискээс өргөтгөх боломж:

Nginx:

Одоо давтамж, цөмийн тоо болон дискний хурдны хувьд өргөтгөх чадварыг харцгаая. 

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
Энэ удаад Nginx 4 биш XNUMX туршилтанд тэнцээгүй.

Apache:

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
Apache өмнөх туршилттай ижил тооны туршилтанд тэнцээгүй.

IIS:

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:
IIS нь дискний хязгаарлалт байхгүй мэт бараг ижил графикийг харуулж байна. Ерөнхийдөө бүх серверүүдийн графикууд тийм ч их өөрчлөгдөөгүй бөгөөд энэ нь тус бүр нь RAM-д статик өгөгдлийг кэш болгож, тэндээс үйлчилдэг гэсэн үг юм. Энд бид гол бэрхшээлийг харж байна - вэб сервер өөрөө.

Энэ туршилт дээр үндэслэн дүгнэлт хийхэд эрт байна; бид Let's Encrypt-ийн шууд гэрчилгээтэй HTTPS, шахалт болон HTTP/2-г хараахан туршиж үзээгүй байна. Энэ талаар бид дараагийн өгүүллээр ярих болно.

WEB серверүүдийн тулаан. 1-р хэсэг – HTTP холбоогүй:

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх