Si të instaloni Vernish dhe të testoni krahasimin e serverit në internet


Mendoni për një moment se çfarë ndodhi kur shfletuat në faqen aktuale. Ju ose keni klikuar në një lidhje që keni marrë nëpërmjet një buletini, ose në lidhjen në faqen kryesore të linux-console.net dhe më pas jeni dërguar te ky artikull.

Me pak fjalë, ju (ose në fakt shfletuesi juaj) dërguat një kërkesë HTTP te serveri i uebit që pret këtë sajt dhe serveri dërgoi një përgjigje HTTP.

Sado e thjeshtë që tingëllon kjo, ky proces përfshin shumë më tepër se kaq. Duhej bërë shumë përpunim nga ana e serverit për të paraqitur faqen e formatuar bukur që mund ta shihni me të gjitha burimet në të – statike dhe dinamike.

Pa u gërmuar shumë më thellë, mund të imagjinoni se nëse serveri i uebit duhet t'u përgjigjet shumë kërkesave si kjo në të njëjtën kohë (bëni vetëm disa qindra për fillim), ai ose mund ta çojë veten ose të gjithë sistemin në një zvarritje shumë shpejt.

Dhe këtu Varnish, një përshpejtues HTTP me performancë të lartë dhe një përfaqësues i kundërt, mund të shpëtojë ditën. Në këtë artikull, unë do të shpjegoj se si të instaloni dhe përdorni Varnish si pjesë e përparme për Apache ose Nginx në mënyrë që të ruhen përgjigjet HTTP më shpejt dhe pa vendosur një ngarkesë të mëtejshme në serverin e uebit.

Megjithatë, duke qenë se Varnish normalisht ruan cache-in e tij në memorie në vend të në disk, ne do të duhet të jemi të kujdesshëm dhe të kufizojmë hapësirën RAM të caktuar për caching. Ne do të diskutojmë se si ta bëjmë këtë në një minutë.

Si funksionon llaku

Instalimi i Varnish Cache në serverin Linux

Ky postim supozon se ju keni instaluar një server LAMP ose LEMP. Nëse jo, ju lutemi instaloni një nga ato rafte përpara se të vazhdoni.

  • Si të instaloni serverin LAMP në shpërndarjet e bazuara në RHEL
  • Si të instaloni serverin LAMP në Ubuntu
  • Si të instaloni serverin LAMP në Debian
  • Si të instaloni serverin LEMP në shpërndarjet e bazuara në RHEL
  • Si të instaloni serverin LEMP në Ubuntu
  • Si të instaloni serverin LEMP në Debian

Dokumentacioni zyrtar rekomandon instalimin e Varnish nga depoja e vetë zhvilluesit, sepse ata gjithmonë ofrojnë versionin më të fundit. Ju gjithashtu mund të zgjidhni të instaloni paketën nga depot zyrtare të shpërndarjes suaj, megjithëse mund të jetë pak e vjetëruar.

Gjithashtu, ju lutemi vini re se depot e projektit ofrojnë mbështetje vetëm për sistemet 64-bit, ndërsa për makineritë 32-bit, do t'ju duhet t'i drejtoheni depove të mirëmbajtura zyrtarisht të shpërndarjes suaj .

Në këtë artikull, ne do të instalojmë Varnish nga depot e mbështetura zyrtarisht nga çdo shpërndarje. Arsyeja kryesore pas këtij vendimi është të sigurojë uniformitet në metodën e instalimit dhe të sigurojë zgjidhjen automatike të varësisë për të gjitha arkitekturat.

Instaloni Varnish në Linux të bazuar në Debian

Në komandën apt siç tregohet.

# apt update 
# apt install varnish 	

Instaloni Varnish në Linux të bazuar në RHEL

Në komandën yum siç tregohet.

# yum install epel-release
# yum update
# yum install varnish 

Nëse instalimi përfundon me sukses, do të keni një nga versionet e mëposhtme llak në varësi të shpërndarjes suaj:

# varnishd -V

varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)

Më në fund, duhet të filloni Varnish manualisht nëse procesi i instalimit nuk e bëri atë për ju dhe aktivizoni që të fillojë në nisje.

# systemctl start varnish
# systemctl enable varnish
# systemctl status varnish

Porta e parazgjedhur 6081 përdoret nga shërbimi i llakut dhe ju e konfirmoni atë duke ekzekutuar komandën e mëposhtme netstat.

# netstat -tunlp | grep 6081

Konfigurimi i cache-it të llakut në Linux

Siç thamë më herët, Varnish qëndron në mes të klientëve të jashtëm dhe serverit në internet. Për këtë arsye, dhe në mënyrë që memoria e fshehtë të bëhet transparente për përdoruesit fundorë, do të na duhet:

  1. Ndrysho portën e paracaktuar 6081 ku Varnish dëgjon në 80.
  2. Ndrysho portën e paracaktuar ku serveri i uebit dëgjon 8080 në vend të 80 të paracaktuar.
  3. Ridrejto trafikun në hyrje nga Varnish te serveri i uebit. Për fat të mirë, Varnish e bën këtë automatikisht pasi të kemi përfunduar 1) dhe 2) hapat.

Ndrysho Portin e llakut

Procesi varnishd kontrollohet nga systemd dhe ka skedarin e njësisë në /usr/lib/systemd/system/varnish.service, i cili mban konfigurimi i parazgjedhur i kohës së funksionimit të Varnish.

Këtu, ne duhet të ndryshojmë portën e parazgjedhur të llakut nga 6081 në portën 80 dhe madhësinë e cache-it në 1 GB siç tregohet duke ekzekutuar komandën e mëposhtme, i cili do të hapë skedarin e njësisë në redaktues siç tregohet.

Shënim: Mund të ndryshoni sasinë e memories sipas burimeve tuaja të harduerit ose në mënyrë alternative të zgjidhni të ruani skedarët e ruajtur në disk.

$ sudo systemctl edit --full varnish
OR 
# systemctl edit --full varnish

Pasi të keni bërë ndryshime në skedarin /etc/systemd/system/varnish.service, duhet të rifreskoni demonin Systemd duke ekzekutuar komandën e mëposhtme:

# systemctl daemon-reload

Ndryshoni Apache ose Nginx Port

Pas ndryshimit të portës së Varnish, tani duhet të ndryshoni portin e serverit tuaj të internetit Apache ose Nginx nga parazgjedhja 80 në portën më të zakonshme të rrjetit, p.sh. fortë>8080.

---------- On Debian-based Systems ---------- 
# nano /etc/apache2/ports.conf      [On Apache]
# /etc/nginx/sites-enabled/default  [On Nginx]

---------- On RHEL-based Systems ----------
# vi /etc/httpd/conf/httpd.conf   [On Apache]
# vi /etc/nginx/nginx.conf        [On Nginx]  

Pasi të keni bërë ndryshimet, mos harroni të rinisni Varnish dhe serverin e uebit.

# systemctl restart varnish 

---------- On Debian-based Systems ---------- 
# systemctl restart apache2     
# systemctl restart nginx

---------- On RHEL-based Systems ----------
# systemctl restart httpd     
# systemctl restart nginx     

Testimi i cache-it të llakut në Linux

Testi i parë konsiston në bërjen e një kërkese HTTP nëpërmjet komandës curl dhe verifikimin që ajo trajtohet nga Varnish:

# curl -I http://localhost

Llak gjithashtu përfshin dy mjete të dobishme gjithashtu:

  • Shiko në regjistrat e Varnish në kohë reale, të quajtur në mënyrë intuitive varnishlog.
  • Shfaq statistikat e cache-it të Varnish, të quajtura varnishstat.

Si një test i dytë, në ekranin e mëposhtëm, ne do të shfaqim regjistrat dhe statistikat në një server CentOS (dev1, gjysma e sipërme e ekranit) dhe në një Serveri b>Debian (dev2, gjysma e poshtme e ekranit) pasi dërgohen kërkesat HTTP dhe merren përgjigjet.

Testoni standardin e performancës së serverit të uebit

Testi ynë i tretë dhe i fundit do të konsistojë në krahasimin e serverit të uebit dhe të Varnish me mjetin e krahasimit ab dhe krahasimin e kohërave të përgjigjes dhe ngarkesës së CPU-së në secilin rast.

Në këtë shembull të veçantë, ne do të përdorim serverin CentOS, por ju mund të përdorni çdo shpërndarje dhe të merrni rezultate të ngjashme. Shikoni mesataren e ngarkesës në krye dhe rreshtin Kërkesat për sekondë në daljen e ab.

Me ab, do të na dërgohen 50 (-c 50) kërkesa të njëkohshme në të njëjtën kohë dhe do të përsërisim testin 1000000 herë (treguar nga -n 1000000). Varnish do të kthejë një numër më të madh kërkesash për sekondë dhe një mesatare shumë më të ulët të ngarkesës.

E rëndësishme: Ju lutemi mbani mend se Varnish po dëgjon në portën 80 (porta e parazgjedhur HTTP), ndërsa Apache po dëgjon në portën 8080. Ju gjithashtu mund të mbani parasysh sasinë e kohës së nevojshme për të përfunduar çdo test.

# ab -c 50 -n 100000 http://localhost/index.html
konkluzioni

Në këtë artikull, ne kemi diskutuar se si të konfigurojmë një cache Varnish përpara një serveri në internet, Apache ose Nginx. Vini re se nuk kemi gërmuar thellë në skedarin e konfigurimit default.vcl, i cili na lejon të personalizojmë më tej politikën e memorizimit.

Tani mund të dëshironi t'i referoheni dokumentacionit zyrtar për shembuj të mëtejshëm të konfigurimit ose të lini një koment duke përdorur formularin më poshtë.