Tre ueb serverët më të njohur. W3Tech: pjesa e nginx në botë është rritur në një të tretën, Apache ka rënë nën gjysmën

Disa muaj më parë, në një nga artikujt e mi të mëparshëm, publikova të dhëna interesante nga comScore, e cila llogarit . Nëse e lexoni atë artikull, atëherë me siguri ju kujtohet se Rusia është bërë lider në Evropë për sa i përket numrit të përdoruesve të internetit. Pra, sot dua t'ju jap disa të dhëna më interesante, por nga një kompani tjetër, jo më pak e njohur - nga Netcraft. Sot do të zbulojmë se sa faqe ka në internet dhe cilët serverë ueb janë më të njohurit në botë.

Sipas Netcraft, që nga janari 2012, kishte deri në 582.72 milion faqe në internet - kjo është 27.23 milion ose 4.9% më shumë se sa ishte regjistruar një muaj më parë, domethënë në dhjetor 2010. Siç mund ta shihni, çdo muaj World Wide Web po rritet vetëm, falë të cilit hapësira e informacionit të planetit tonë po bëhet gjithnjë e më e madhe. Dhe vini re se ky nuk është kufiri. Ekspertët parashikojnë se numri i përdoruesve dhe numri i faqeve në internet do të vazhdojë të rritet dhe kjo rritje do të jetë e konsiderueshme - të paktën në vitet e ardhshme.

Gjithashtu, llogaritjet e Netcraft tregojnë se ueb serveri Apache vazhdon të jetë më i popullarizuari në botë - në janar 2012, pjesa e tij në treg ishte 64.91%.

Dhe kështu, në përgjithësi, tre të parët duken kështu:

  • Apache - 64,91% (në dhjetor 2010 ishte 65,22%);
  • Microsoft - 14,46% (14,86%);
  • nginx - 9,63% (8,85%).

Rezulton se për momentin vetëm serveri rus në internet nginx po rrit pjesën e tij të tregut, ndërsa drejtuesit po e humbasin atë, megjithëse me një ritëm shumë të ngadaltë. Në të njëjtën kohë, duhet të theksohet një pikë e rëndësishme - nëse vetëm faqet aktive të Internetit merren parasysh në llogaritjet statistikore, atëherë deri në fund të janarit 2012, serveri i uebit nginx pak, por gjithsesi tejkaloi serverin e uebit të Microsoft në vlerësim.

  • Apache - 57.93% (një muaj më parë 58.21%);
  • nginx - 12,18% (11,61%);
  • Microsoft - 12,14% (12,31%);
  • Google - 7.90% (8.13%).

Në këtë rast, pjesa e tregut po rritet edhe vetëm për ueb serverin nginx, ndërsa pjesa tjetër po humbet dalëngadalë pozicionet e tyre. Por vetëm një vit më parë, në janar 2011, pjesa e tregut e web serverit rus ishte rreth 8.23%, si rezultat i së cilës ai zinte vetëm pozitën e katërt në renditje, pas Microsoft (16.76%) dhe madje edhe Google (11 90%). Kështu, ne shohim një rritje serioze të popullaritetit të nginx, dhe siç thonë përfaqësuesit e saj, kjo rritje është e pakthyeshme - të paktën deri në fund të 2012, ata presin të rrisin pjesën e tyre të tregut në 18%. Qëllimi është real, ndaj i urojmë fat.

Dhe për të arritur këto synime, në verën e vitit 2011, u krijua kompania Nginx Inc., e cila tani do të kryejë të gjithë punën në projektin nginx. Në të njëjtën kohë, në vjeshtën e të njëjtit 2011, kjo kompani mori investime shumë të mira (3.0 milion dollarë), kështu që nuk duhet të habiteni nëse serveri në internet nginx deri në fund të 2012 ende rrit pjesën e tij të tregut në 18% të pritur. . Kështu që na mbetet vetëm të presim dhe të ndjekim lajmet.

|

Aplikacionet e zhvilluara në Ruby mund të vendosen në akses të përgjithshëm duke përdorur një nga serverët e shumtë të internetit. Çdo server në internet është unik dhe ka avantazhet e veta, por të gjithë kanë një gjë të përbashkët: ato bazohen në ndërfaqen Rack.

Ky artikull sugjeron rishikim i shkurtër serverë të njohur në internet për aplikacionet Ruby, si dhe ju prezantojnë me specifikimet Rack dhe programin e mesëm.

shënim: Më shumë informacion i detajuar mund të mësoni për programin e mesëm.

Ndërfaqja e raftit

Në botën e sotme të zhvillimit të aplikacioneve në internet, aftësia për të përzier dhe përputhur serverët e duhur të ueb-it dhe programet dhe teknologjitë e tjera është thelbësore. Në fakt, ky është një nga aspektet më të kërkuara të çdo gjuhe programimi ose kornizë. Ndoshta shembulli më i thjeshtë këtu është zhvillimi, testimi dhe mjediset e prodhimit të një aplikacioni - të gjitha duhet të jenë të ndryshme.

Për ta bërë këtë, Rack u lëshua në 2007, një ndërfaqe modulare për serverët e uebit Ruby. Sot përdoret nga shumë serverë dhe korniza ueb (Espresso, Mack, Ruby on Rails, Sinatra, etj.).

Pavarësisht nga konventat e emërtimit dhe shpjegimet e ndryshme për gjuhë dhe fusha të ndryshme programimi, specifikimet për ndërveprimin e aplikacioneve janë shumë të ngjashme (nëse jo identike). Edhe pse ndryshe nga specifikimi Python WSGI që frymëzoi Rack-in dhe shumë specifika të tjera, Rack është gjithashtu një program ndërmjetës.

e ndërmjetme software Raft (i disponueshëm si gur i çmuar) zbaton specifikimin Rack; ai i ndan kërkesat hyrëse HTTP në faza të ndryshme, pastaj i përpunon ato në pjesë, pas së cilës i dërgon një përgjigje aplikacionit në ueb (kontrollues). Programi Rack përbëhet nga dy komponentë të veçantë: një mbajtës dhe një përshtatës, përmes të cilit shkëmbehen të dhënat ndërmjet serverëve të internetit dhe aplikacioneve (kornizave).

Përmbledhje e serverëve në internet për Ruby

Tani mund të flisni për serverët më të njohur modernë në internet, të kuptoni veçoritë e tyre dhe të zgjidhni zgjidhjen më të përshtatshme për aplikacionin tuaj.

shënim: Serverët e uebit janë renditur sipas rendit alfabetik.

Phusion Passenger: Ueb i shpejtë dhe server i aplikacioneve

Shumë zhvillues të Ruby on Rails rekomandojnë përdorimin e Passenger për të mbështetur aplikacionet. Është një server i pjekur dhe i pasur me veçori që plotëson kërkesat më të kërkuara të vendosjes dhe e bën të lehtë instalimin dhe ekzekutimin e aplikacionit. Ai eliminon arkitekturën tradicionale të proxy-server duke u integruar drejtpërdrejt në Ueb serverët Apache dhe Nginx. Prandaj, në komunitetin Ruby (Rails), shpesh quhet edhe mod_rails dhe mod_rack.

Karakteristikat e pasagjerëve

Pasagjeri ofron mundësinë për të punuar me shumë aplikacione të vendosura në të njëjtin server.

Ai gjithashtu mbështet trajtimin e klientëve të ngadaltë. Pasagjeri ruan të gjitha kërkesat dhe përgjigjet për të parandaluar sulmet që bllokojnë burimet e sistemit.

Ueb serveri Passenger është shumë popullor dhe përdoret shpesh në një mjedis prodhimi. Përveç kësaj, ajo ka një komunitet aktiv ku mund të merrni shumë këshilla të dobishme dhe këshilla. Kompania e zhvillimit të pasagjerëve ofron mbështetje komerciale.

Versioni i pasagjerëve me të hapur Kodi i burimit ofron modalitet me një fije me shumë procese, dhe versioni komercial mbështet modalitetet me një fije dhe me shumë fije.

Gjithashtu, versioni komercial ofron shumë veçori "të avancuara": paralelizëm, multithreading, vendosje masive, menaxhim i burimeve, kufizim i burimeve, etj.

shënim: Më shumë informacion rreth Pasagjerit mund të gjeni në faqen e internetit të projektit. Rreth Ndërmarrjes së Pasagjerëve - .

Puma: Një server modern në internet për Ruby

Puma është një server në internet me performancë të lartë për aplikacionet Ruby. Ai bazohet në serverin në internet Mongrel, i cili shtoi disa veçori revolucionare dhe ndikoi në zhvillimin e aplikacioneve Ruby në shumë mënyra. Zhvilluesi Puma (Evan Phoenix) transformoi strukturën operative të Mongrel duke u zhvendosur në Rack (dhe duke eliminuar kështu disa çështje të performancës) dhe zhvilloi një aplikacion për të mbështetur konkurencën.

Karakteristikat e Puma

Puma nuk kërkon shumë hapësirë ​​dhe përdor pak burime.

Ueb serveri Puma ofron disa mënyra funksionimi: ju lejon të vendosni minimumin dhe shuma maksimale threads, dhe gjithashtu mbështet modalitetin e grupimit, ku mund të përdorni procese të forcuara për të përpunuar kërkesat njëkohësisht.

Ai bazohet në analizuesin Mongrel dhe ka trashëguar kryesisht kodin e tij.

Ueb serveri Puma është krijuar për Rubinius, por mund të punojë edhe me JRuby

Ai siguron një grup të thjeshtë, por mjaft të gjerë dhe fleksibël konfigurimesh, gjë që e bën të lehtë përgatitjen e një serveri në internet si për zhvillim ashtu edhe për mjedis.

Nga kutia, Puma nuk mbështet pritjen dhe prodhimin me shumë aplikacione, por kjo mund të bëhet duke përdorur mjetin e dedikuar Jungle.

I hollë: server HTTP i thjeshtë dhe i shpejtë

E hollë është shumë server popullor aplikacione; krijuesit e tij pretendojnë se është serveri më i "sigurt, i qëndrueshëm, i shpejtë dhe më i shtrirë i uebit Ruby". Thin po zhvillohet në mënyrë aktive. Ai bazohet në tre biblioteka kryesore Ruby:

  • Parser Mongrel.
  • Biblioteka e Rrjetit EventMachine
  • Rack Middleware

Karakteristikat e hollë

Serveri i hollë HTTP është krijuar për të punuar me çdo kornizë që zbaton specifikimin Rack. Për ta bërë këtë, ai shkarkon skedarët e konfigurimit Raft.

Bazuar në EventMachine, Thin mund të trajtojë kërkesa të gjata pa ndihmën e një përfaqësuesi të kundërt (ndryshe nga disa serverë të tjerë në internet).

shënim: Për të mësuar më shumë rreth Thin, shkoni në faqen e internetit të projektit.

Unicorn: Server HTTP i bazuar në raft për klientë të shpejtë dhe Unix

Unicorn është një server aplikacioni i pjekur dhe i plotë për Ruby. Më vonë u përshtat për të punuar me Python. Parimi i funksionimit të Unicorn është si më poshtë: serveri në internet nuk kryen të gjitha detyrat, por vetëm ato për të cilat është drejtpërdrejt përgjegjës, ai transferon pjesën tjetër të detyrave në programe të tjera që janë më të aftë për t'i kryer ato.

Karakteristikat e njëbrirëshit

Procesi kryesor Unicorn krijon proceset e punëtorëve për të përpunuar kërkesat sipas parametrave të dhënë. Ai gjithashtu monitoron proceset e punëtorëve për të parandaluar çështjet e burimeve. Kjo do të thotë, nëse një proces kërkon shumë kohë ose burime, serveri do ta ndalojë atë me Unicorn.

Siç u përmend më lart, Unicorn përdor sistemin operativ për balancimin e ngarkesës; për ta bërë këtë, ai mund të transferojë detyra në shërbime të tjera. Falë kësaj, kërkesat nuk grumbullohen.

Ashtu si NGINX, Unicorn ju lejon të vendosni aplikacione pa hequr lidhjet aktuale të klientit. Ky është një veçori shumë e dobishme kur përditësoni një aplikacion.

Të tjera veçori të dobishme Njëbrirësh:

  • Të gjitha proceset e punëtorit ekzekutohen brenda një hapësire adrese specifike të izoluar dhe u shërbejnë kërkesave një nga një.
  • Gurpat para_fork dhe pas_pirunit ju lejojnë të merreni me pirunët e procesit.
  • Një mekanizëm kopjimi në shkrim për menaxhimin e kujtesës kursen kujtesën.
  • Një server në internet mund të dëgjojë në ndërfaqe të shumta.

shënim: Më shumë rreth Unicorn - .

Etiketa: ,

Si rregull, për një përdorues të zakonshëm, koncepte të tilla si "server në internet" ose "hosting" shoqërohen me diçka krejtësisht të pakuptueshme. Ndërkohë, nuk ka asgjë të komplikuar në këtë çështje. Le të përpiqemi të shpjegojmë se çfarë është një server në internet, pse është i nevojshëm dhe si funksionon, pa hyrë në detaje teknike, por, si të thuash, në gishta. Ne do të ndalemi veçmas në pyetjen se si të krijojmë dhe konfigurojmë një server të tillë në një terminal kompjuteri shtëpiak ose laptop.

Çfarë është një server në internet?

Gjëja më e rëndësishme në kjo çështje- kuptoni që një server i këtij lloji nuk është gjë tjetër veçse një kompjuter në internet me softuerin e duhur të instaluar.

Por kjo absolutisht nuk do të thotë që ju nuk mund të krijoni konfigurimin tuaj në shtëpi. Meqenëse kemi operim më të zakonshëm Sistemet Windows, pyetjet se si të krijoni një ueb server në Ubuntu (Linux) nuk do të merren parasysh.

Për çfarë janë serverët në internet?

Ky lloj serveri ruan shumë informacione në internet. Në të njëjtën kohë, të njëjtat antiviruse u referohen atyre për të përditësuar bazat e tyre të të dhënave. Përdoruesi gjithashtu ka një marrëdhënie të drejtpërdrejtë me serverë të tillë, duke bërë kërkesa në shfletues (kërkim për informacion, akses në një faqe, etj.).

Pra, rezulton se të gjitha faqet e pranishme në internet ruhen pikërisht në serverët e internetit, ndaj të cilëve, nga njëra anë, bëhet një kërkesë ose apel i përdoruesit. programi i instaluar, dhe nga ana tjetër, rezultati kthehet nga vetë serveri në të cilin tentohet qasja.

Si funksionon e gjitha?

Të gjithë përdoruesit janë mësuar me faktin që për të futur një burim në internet (faqe në internet) që përmban informacione të një lloji të caktuar, prefiksi www (ose http) dhe emri pasues thjesht futen në shiritin e adresave. Por askush nuk mendon se si serveri në internet e kupton kërkesën dhe jep rezultatin.

Në fakt, këtu ju duhet të bëni dallimin midis koncepteve të serverit dhe klientit. Në rastin tonë, faqja e pritur në internet ruhet në një server të largët. Kompjuteri i përdoruesit vepron si klient, nga i cili bëhet thirrja.

Për të hyrë në internet, përdoren programe të quajtura web browser. Ata e përkthejnë kërkesën e përdoruesit në një kod dixhital që njihet nga serveri në internet. Serveri e përpunon atë dhe lëshon një përgjigje në kodin e duhur, dhe shfletuesi tashmë konverton miliona zero dhe njësh në një formë normale me informacione teksti, grafike, zanore ose video që vendosen në faqe.

Serverët më të njohur në internet

Nga të gjithë softuerët e serverëve, Apache dhe Microsoft IIS konsiderohen si më të zakonshmet. I pari është më popullor dhe përdoret më shumë në Sisteme të ngjashme me UNIX, megjithëse mund të vendoset në Mjedisi Windows. Për më tepër, serveri Apache është softuer absolutisht falas dhe është i pajtueshëm me pothuajse të gjithë të njohurit sistemet operative. Sidoqoftë, siç u përmend, ky softuer është menduar kryesisht për programues dhe zhvillues profesionistë.

Produkti i softuerit nga Microsoft është krijuar për përdoruesin mesatar, i cili mund të instalojë dhe konfigurojë një server të tillë në internet për Windows pa ndihmë shtesë specialist i kualifikuar.

Sidoqoftë, bazuar në statistikat zyrtare, softueri Apache përdor rreth 60% të të gjithë serverëve ekzistues, kështu që ne do të shqyrtojmë çështjen e instalimit dhe konfigurimit të konfigurimit fillestar duke përdorur shembullin e tij.

Serveri në internet në kompjuterin shtëpiak: instalimi

Për instalim, do t'ju duhet të shkarkoni një paketë të veçantë serveri, të shkurtuar si WAMP, e cila përfshin tre komponentë kryesorë:

  • apache- guaskë një server që mund të funksionojë në mënyrë të pavarur, por vetëm nëse nuk ka përmbajtje dinamike në faqet e pritura.
  • PHP është një gjuhë programimi e përdorur nga shtesat për të menaxhuar serverët e përmbajtjes dinamike si WordPress, Joomla, Drupal.
  • MySQL është një sistem i unifikuar i menaxhimit të bazës së të dhënave që përdoret, përsëri, kur krijohen uebfaqe me përmbajtje dinamike.

Instalimi mund të bëhet nga paketa WampServer. Për ta bërë këtë, thjesht ndiqni udhëzimet e "Wizard", i cili në një nga fazat do t'ju kërkojë të zgjidhni një shfletues Interneti që do të përdoret si parazgjedhje.

Për ta bërë këtë, do t'ju duhet të shkoni te dosja me skedarin e ekzekutueshëm të shfletuesit (nëse nuk është Internet Explorer, zakonisht gjendet në drejtori Dosje programesh). Gjatë rrugës, vetë shfletuesi duhet të shtohet në listën e përjashtimeve të Windows Firewall. Në fazën përfundimtare, një shenjë kontrolli vendoset përpara artikullit të nisjes së menjëhershme, pas së cilës ikona përkatëse do të shfaqet në tabaka e sistemit, të cilën duhet ta klikoni dhe ta ndryshoni për të zgjedhur nisjen e hostit lokal (localhost).

Nëse gjithçka është bërë si duhet, do të shfaqet Faqja kryesore server. Tjetra, do t'ju kërkohet të instaloni komponentë shtesë (nëse kjo nuk është bërë, sistemi do të japë një gabim). Në thelb, instalimi ka të bëjë me shtesa, elementë dhe komponentë shtesë që do të përdoren nga serveri në të ardhmen.

Një shembull i konfigurimit dhe testimit të një serveri

Vendosja e një serveri në internet është disi më e komplikuar. Së pari, në menynë e tabakasë së sistemit, lundroni te dosja WWW (ku ruhen shtesat ose skedarët HTML). Pas kësaj, shkruani tekstin e mëposhtëm në Notepad:

Testi WAMP!

Hej!

"; ?>

Ju thjesht mund ta kopjoni tekstin në Notepad dhe ta ruani skedarin si index.php në të njëjtën dosje WWW (edhe pse mund ta bëni pa të, pasi ky hap përdoret vetëm për të kontrolluar hostin lokal). Në vend të një përshëndetjeje, mund të futni çdo tekst ose frazë tjetër.

Pastaj në shfletues duhet të rifreskoni faqen (F5), pas së cilës përmbajtja do të shfaqet në ekran. Por për kompjuterët e tjerë, faqja nuk do të jetë e disponueshme.

Për të hapur aksesin, duhet të ndryshoni skedarin httpd.conf duke shkruar në seksionin që fillon me linjat e mëposhtme:

Rendit Lejo, Moho

Në vend të një pasthënieje

Sigurisht, në lidhje me kuptimin e thelbit të funksionimit ose cilësimeve të një serveri në internet në shtëpi, këtu jepet vetëm informacioni fillestar dhe i shkurtër, si të thuash, për një kuptim të përgjithshëm. Në fakt, të gjitha proceset janë shumë më komplekse, veçanërisht në drejtim të konvertimit të kërkesave dhe dhënies së përgjigjeve, për të mos përmendur vendosjen e një serveri në shtëpi. Nëse përdoruesi ka dëshirë t'i kuptojë këto çështje, nuk mund të bëhet pa njohuri të paktën bazë për të njëjtën shtesë të WordPress dhe gjuhën PHP. Nga ana tjetër, për botimin e faqeve primitive që përmbajnë kryesisht vetëm informacione tekstuale, mund të përdoret edhe ky informacion fillestar.

Përshëndetje, ky artikull mbulon 5 nga opsionet më të njohura për konfigurimin e një serveri për një aplikacion në internet. Cilat janë opsionet dhe cilën të zgjidhni?

Ka shumë faktorë për t'u marrë parasysh kur zgjidhni një mjedis serveri si performanca, shkallëzimi, disponueshmëria, besueshmëria, kostoja dhe lehtësia e menaxhimit.

Artikulli paraqet një grup të mjediseve të serverëve më të përdorur me to përshkrim i shkurtër duke përfshirë të mirat dhe të këqijat. Të gjitha konceptet mund të përdoren në kombinime të ndryshme me njëri-tjetrin, dhe çdo mjedis ka kërkesa të ndryshme, kështu që nuk ka asnjë konfigurim të vetëm të saktë.

1. Të gjitha në një server

Mjedisi është në të njëjtin server. Për një aplikacion tipik në internet, ky do të përfshijë një server në internet, një server aplikacioni dhe një server të bazës së të dhënave. Një rast i veçantë i zbatimit të këtij grupi është, emri i të cilit është një shkurtim për Linux, Apache, MySQL dhe PHP, në të njëjtin server.

Shembull përdorimi: I mirë për vendosjen e shpejtë të një aplikacioni, pasi është konfigurimi më i thjeshtë nga të gjithë, por ofron pak në aspektin e shkallëzueshmërisë dhe izolimit të komponentëve.

Të mirat:

  • Thjeshtësia

Minuset:

  • Aplikacioni dhe baza e të dhënave përdorin të njëjtat burime serveri (CPU, memorie, I/O, etj.), gjë që përveç performancës potencialisht të dobët, e bën të vështirë përcaktimin e burimit (aplikacionit ose bazës së të dhënave) të kësaj performance më të ulët.
  • Vështirë për t'u shkallëzuar horizontalisht.

2. Server i përkushtuar i bazës së të dhënave

Sistemi i menaxhimit të bazës së të dhënave (DBMS) mund të ndahet nga pjesa tjetër e mjedisit për të eliminuar konkurrencën për burimet e serverit midis aplikacionit dhe bazës së të dhënave dhe për të rritur sigurinë duke hequr bazën e të dhënave nga DMZ, Interneti publik.

Shembull përdorimi: I mirë për vendosjen e shpejtë të një aplikacioni, por gjithashtu eliminon problemin e grindjes së aplikacionit dhe bazës së të dhënave për të njëjtat burime të sistemit.

Të mirat:

  • Aplikacioni dhe baza e të dhënave nuk konkurrojnë për të njëjtat burime të serverit (CPU, memorie, I/O, etj.).
  • Ju mund të shkallëzoni vertikalisht çdo komponent (aplikacion dhe bazë të dhënash) në mënyrë të pavarur duke shtuar burime shtesë në serverin e dëshiruar.
  • Me cilësime të caktuara, kjo mund të përmirësojë sigurinë duke hequr bazën e të dhënave nga DMZ.

Minuset:

  • Procesi i instalimit është pak më i komplikuar sesa në rastin e përdorimit të një serveri të vetëm.
  • Problemet e performancës mund të ndodhin nëse lidhje rrjeti ndërmjet dy serverëve ka një kohë të gjatë përgjigjeje (për shembull, serverët janë të ndarë gjeografikisht nga njëri-tjetri), ose xhiros e pamjaftueshme për të dhënat e transmetuara.

3. Balancuesi i ngarkesës (përfaqësues i kundërt)

Balancuesit e ngarkesës mund të shtohen në një mjedis serveri për të rritur performancën dhe besueshmërinë duke shpërndarë ngarkesën nëpër serverë të shumtë. Nëse njëri prej serverëve shkon poshtë, serverët e tjerë do të përpunojnë trafikun në hyrje derisa serveri i rrëzuar të ngrihet përsëri. Një balancues i ngarkesës mund të përdoret gjithashtu për të shërbyer aplikacione të shumta në të njëjtin domen dhe port duke përdorur një përfaqësues të kundërt.

Shembuj të softuerit të përfaqësuesit të kundërt përfshijnë HAProxy dhe Varnish.

Shembull përdorimi: I dobishëm për mjediset që kërkojnë shkallëzim duke shtuar më shumë serverë, i njohur gjithashtu si shkallëzim horizontal.

Të mirat:

  • Bën të mundur shkallëzimin horizontal, domethënë burimet e mjedisit mund të rriten duke shtuar serverë të rinj në të.
  • Mund të mbrojë kundër sulmeve DDOS duke kufizuar lidhjet e klientit në një numër dhe frekuencë të pranueshme.

Minuset:

  • Një balancues i ngarkesës mund të bëhet një pengesë e performancës nëse ka mungesë të burimeve ose konfigurim të gabuar.
  • Mund të krijojë kompleksitete shtesë që kërkojnë përpjekje shtesë nga administratori, për shembull, puna me aplikacione që kërkojnë të ashtuquajturat "sesione ngjitëse" (sesion ngjitës).

4. Përshpejtuesi HTTP (përfaqësuesi i kundërt me memorie të fshehtë)

Një përshpejtues HTTP, ose kërkesat e HTTP-së për ruajtjen e memories së kundërt, mund të përdoret për të reduktuar kohën që duhet për t'i shërbyer përmbajtjes një përdoruesi përmes një sërë metodash. Teknika bazë e përdorur me përshpejtuesin HTTP është që përgjigjet nga ueb-i ose serveri i aplikacionit të ruhen në memorie, në mënyrë që kërkesat e mëvonshme për të njëjtën përmbajtje të mund të përpunohen shpejt dhe me më pak ndërveprime të panevojshme me ueb-in ose serverin e aplikacionit.

Shembuj të softuerit që mbështesin përshpejtimin HTTP: Varnish, Squid, Nginx.

Shembull përdorimi: I dobishëm për aplikacione dinamike në ueb me përmbajtje të rëndë ose një numër të madh skedarësh që mund të aksesohen në të njëjtën kohë.

Të mirat:

  • Përmirëson performancën e faqes duke reduktuar ngarkesën në procesorin e serverit të uebit përmes caching dhe kompresimit, duke rritur kështu numrin e përdoruesve të shërbyer.
  • Mund të përdoret si një balancues i ngarkesës me përfaqësues të kundërt.
  • Disa softuer memorie mund të mbrojnë kundër sulmeve DDOS.

Minuset:

  • Kërkon akordim për performancën më të mirë.
  • Nëse natyra e kërkesave të përdoruesve nuk lejon një memorie efikase, kjo mund të degradojë performancën e serverit.

5. Replikimi i bazës së të dhënave sipas skemës master-slave (Master-Slave)

Një mënyrë për të përmirësuar performancën e një sistemi të bazës së të dhënave që merr shumë më shumë lexime sesa shkrime, siç janë sistemet e menaxhimit të përmbajtjes (CMS), është përdorimi i përsëritjes së bazës së të dhënave master-slave. Një skemë e tillë supozon praninë e një masteri dhe një ose më shumë nyjeve skllav. Në këtë rast, të gjitha shkrimet drejtohen te nyja kryesore dhe kërkesat për lexim mund të shpërndahen midis të gjitha nyjeve.

Shembull përdorimi: I jep një nxitje të mirë performancës aplikacionit për sa i përket leximit nga baza e të dhënave.

Këtu është një shembull i përsëritjes së bazës së të dhënave master-slave me një nyje skllav:

Të mirat:

  • Përmirëson performancën e leximit të bazës së të dhënave duke shpërndarë kërkesat e leximit nëpër nyjet skllav.
  • Mund të përmirësojë performancën e shkrimit duke përdorur hostin ekskluzivisht për të shkruar (në mënyrë që të mos humbasë kohë duke i shërbyer kërkesave për lexim)

Minuset:

  • Aplikacioni i bazës së të dhënave duhet të ketë një mekanizëm për të përcaktuar se në cilat nyje duhen dërguar kërkesa për lexim dhe shkrim.
  • Përditësimet e nyjeve skllav janë asinkrone, kështu që është e mundur që të mos merren të dhënat më të fundit kur kërkohet.
  • Nëse nyja kryesore ndalon së punuari, nuk mund të bëhet asnjë përditësim i bazës së të dhënave derisa problemi të zgjidhet.
  • Nuk ka tepricë të integruar në rast të dështimit të nyjës kryesore.

Shembull: kombinimi i koncepteve

Ju mund të ngarkoni serverët e ruajtjes së bilancit përveç serverëve të aplikacionit dhe të përdorni përsëritjen e bazës së të dhënave në një mjedis të vetëm. Qëllimi i kombinimit të këtyre metodave është të përfitoni përfitimet e secilës qasje pa shtuar shumë kompleksitet.

Këtu është një diagram shembull se si mund të duket një mjedis server:

Le të supozojmë se balancuesi i ngarkesës është konfiguruar për të njohur kërkesat statike (siç janë imazhet, CSS, JavaScript, etj.) dhe i dërgon ato kërkesa te serverët e memorizimit dhe të gjitha kërkesat e tjera te serverët e aplikacioneve.

Ja çfarë do të ndodhë kur një përdorues dorëzon një kërkesë për përmbajtje dinamike:

  1. Përdoruesi kërkon përmbajtje dinamike me http://example.com/(balancues i ngarkesës).
  2. Balancuesi i ngarkesës dërgon një kërkesë në serverin e aplikacionit (app-backend).

Nëse përdoruesi kërkon përmbajtje statike:

  1. Balancuesi i ngarkesës kontrollon cache-në (cache-backend) për të parë nëse përmbajtja e kërkuar është memorizuar.
  2. Nëse ruhet në memorie, më pas përmbajtja e kërkuar kthehet në balancuesin e ngarkesës, shkoni në hapin 7. Nëse nuk ruhet në memorie, atëherë serveri me memorie të fshehtë do ta përcjellë kërkesën te serveri i aplikacionit përmes balancuesit të ngarkesës.
  3. Balancuesi i ngarkesës do ta përcjellë kërkesën te serveri i aplikacionit.
  4. Serveri i aplikacionit (app-backend) lexon nga baza e të dhënave dhe e kthen përmbajtjen e kërkuar përsëri në balancuesin e ngarkesës.
  5. Balancuesi i ngarkesës e përcjell përgjigjen te serveri i memories (cache-backend).
  6. Serveri i memorjes memorike ruan përmbajtjen e marrë dhe e kthen atë te balancuesi i ngarkesës.
  7. Balancuesi i ngarkesës i kthen përdoruesit përmbajtjen e kërkuar.

Ky mjedis ka dy pika të mundshme dështimi (balancuesi i ngarkesës dhe serveri kryesor i bazës së të dhënave), por ofron përfitime të tjera të besueshmërisë dhe performancës siç përshkruhet më herët në secilin nga paragrafët.

Tani duhet të keni një ide të mirë se çfarë saktësisht do të përdorni për aplikacionin ose aplikacionet tuaja. Nëse jeni duke punuar për të përmirësuar mjedisin tuaj, mbani mend se është më mirë të vazhdoni në mënyrë të përsëritur për të shmangur komplikimet e tepërta.



Po ngarkohet...
Top