Pet načina za ubrzanje virtualne aplikacije

Autor: Laura McKinney
Datum Stvaranja: 2 Travanj 2021
Datum Ažuriranja: 1 Srpanj 2024
Anonim
Crypto Pirates Daily News - February 10th, 2022 - Latest Cryptocurrency News Update
Video: Crypto Pirates Daily News - February 10th, 2022 - Latest Cryptocurrency News Update

Sadržaj


Izvor: Viktorus / Dreamstime.com

Oduzeti:

Naučite pet tehnika za ubrzanje virtualnih aplikacija bez probijanja banke.

Jedna od frustracija virtualne virtualnosti za aplikacije i radne površine je performansa. Nitko ne želi čekati duže od sekunde ili dvije da bi se aplikacija pojavila nakon pokretanja. Kao korisnici, očekujemo da se naše aplikacije pojave odmah nakon dvostrukog klika na ikonu. Ne shvaćamo što se događa u pozadini kako bi se te aplikacije isporučivale između poslužitelja, vatrozida, balansiranja opterećenja, preko zraka ili putem žica na naše radne površine i na naše mobilne uređaje, niti nas je briga. Naše kolektivno strpljenje je istrošeno obećanjima o boljoj, bržoj, sigurnijoj tehnologiji i vrijeme je da se "prodaj ili zatvori" trenutak od dobavljača i od pomoćnog osoblja. Zauzvrat, dobavljači i pomoćno osoblje dijele našu bol i odgovorili su nekim tehnologijama ubrzanja koje pružaju performanse na ili blizu lokalno instalirane razine.


Za korisnike je sve u brzini, ali za razliku od korisnika, arhitekti, administratori sustava i CIO-i ne traže brži odgovor na dvostruke klikove korisnika; oni također traže skalabilnost, poboljšanu sigurnost i dulji životni vijek tehnologije nego ikad prije. Na kraju, korisnici su oštri kritičari dobavljača i podrške, pa je zbog toga istraživanje virtuelnih tehnika i tehnologija pri ruci. Ovaj članak ispituje pet načina za ubrzanje virtualnih aplikacija. Pet rješenja nisu ni u kojem redoslijedu, ali su se sva fokusirala na jedno od tri ključna područja za optimizaciju i ubrzanje: infrastruktura, aplikacijski kôd i propusnost.

Optimizacija WAN i LAN mreža

Optimizaciju WAN i LAN možete spomenuti kao rješenje propusne širine, gdje je krajnji cilj na efikasniji način staviti više informacija i više podataka na mrežni cjevovod. Budući da su performanse aplikacije krajnje korisne za krajnje korisnike, postoje neke genijalne metode za isporuku više sadržaja u kraćem vremenu, poput stvaranja mreže za dostavu sadržaja (CDN) koja u osnovi podatke približava potrošaču ili krajnjem korisniku. Prelaskom podataka bliže korisniku smanjuje se kašnjenje jer podaci moraju prijeći manje "hmelja" ili mreža kako bi stigli na odredište. Većina pružatelja usluga oblaka već ima CDN-ove kako bi pomogli vlasnicima aplikacija da isporučuju distribuirani sadržaj u neposrednoj blizini svojih potrošača.


Balansiranje opterećenja optimizira propusnu širinu širenjem zahtjeva klijenta na više poslužitelja ili na više lokacija kako bi se bolje podjelio teret isporuke aplikacija. Balansi za opterećenje poboljšavaju brzinu isporuke aplikacije uklanjanjem zastoja u prometu koji nastaju zbog korisničkih zahtjeva za jednu aplikaciju. Ali oni također povećavaju pouzdanost tako da aplikaciju mogu učinkovito dostaviti na poslužitelj koji nije preopterećen drugim zahtjevima.

Povećavanje propusne širine između aplikacija i klijenata čini se očiglednim poboljšanjem za ubrzanje isporuke aplikacija. Tko može tvrditi da je gigabitna mrežna veza između aplikacijske infrastrukture i klijentskog računala loša stvar? Čak i loše dizajnirana i zamišljena aplikacija dobit će značajno poboljšanje performansi povećanjem propusnosti između izvora i cilja.

Kompresija podataka i upotreba komprimiranih medija poput JPEG, MPEG-4 i MP3 mogu značajno utjecati na isporuku aplikacija. Kompresija podataka na bazi podataka, što znači HTML, CSS i JavaScript, može rezultirati smanjenjem vremena učitavanja od 30 posto ili više.

SSD-ovi i Flash Arrays

Čini se da su SSD-i i flash matrice nova tehnologija "go to" za sve vrste poboljšanja performansi aplikacije. Istina je da je pohrana na čvrstim uređajima daleko brža od okretanja diskova, ali također je i znatno skuplja. Rješenje je možda dobro pogledati na korištenje SSD-ova na drugi način - kao predmemoriju za "vruće" podatke, umjesto za podatke u mirovanju. SSD diskovi mogu isporučiti podatke mnogo brže nego što to mogu vrti diskovi, ali dio te učinkovitosti gubi se u prijevodu preko mreže i kroz razne mrežne komponente. Međutim, ako se koristi takozvani "flash cache" da iskoristi SSD brzinu na koju se mogu pohraniti keširane informacije, rezultati su impresivni. Intel izvještava do "12 puta više performansi u transakcijskoj obradi baze podataka i do 36 puta brže obrade I / O intenzivnog virtualiziranog radnog opterećenja."

SSD diskovi za predmemoriranje podataka imaju smisla zbog brzine kojom se podaci mogu dohvatiti i staviti u memoriju. A ako se SSD diskovi koriste isključivo u svrhu predmemoriranja, morat ćete ih kupiti znatno manje kako bi zadovoljili rezultirajuće povećanje performansi. (Više o pohrani potražite u odjeljku Kako optimizirati rješenje za pohranu vašeg poduzeća.)

Bez grešaka, bez stresa - Vaš korak po korak vodič za stvaranje softvera koji mijenja život bez uništavanja života

Ne možete poboljšati svoje programiranje kad nikoga nije briga za kvalitetu softvera.

Virtualni GPU-i

Pitajte svakoga tko koristi CAD program, softver za uređivanje videozapisa ili čak aplikaciju za upravljanje projektima gdje on ili ona žele da se te aplikacije učitaju i čut ćete zbor „lokalno.“ Pretvaranje ovih grafički intenzivnih aplikacija labavo u katastrofu virtualnog okruženja do izlaska tehnologije virtualne grafičke obrade (GPU).

Virtualni GPU-ovi napokon omogućuju postavljanje bilo kojeg radnog opterećenja u virtualni stroj. Stanje školskog CAD-a sada je asimilirano, kao i uređivači videa i grafički dizajneri. Čak i oni koji rade u tri dimenzije sada imaju virtualnu prisutnost zahvaljujući virtualnim GPU-ima.

Ova tehnologija omogućila je da se u te matične sustave instaliraju posebne GPU ploče, kompatibilne s matičnim sustavima virtualnih računala, a zatim se njihovi hardverski atributi apstrahiraju ili virtualiziraju kako bi ih virtualni strojevi mogli koristiti.

Softver optimiziran za performanse

Ljutiti i frustrirani administratori sustava često će vam reći da ispravljanje koda nije njihov posao. Sveprisutni problem je, međutim, što programeri možda najbolje napreduju u programiranju aplikacije, ali mogu imati apsolutno nikakav trag ili želju da dobiju pojma o optimizaciji koda za rad.Često je stav da će više RAM-a, brži diskovi ili moćniji CPU-i popraviti sve probleme vezane uz performanse koji mogu postojati u kodu i to je u određenoj mjeri točno. Alternativno, popravljanje koda je daleko jeftinije i puno je lakše riješiti od obnove infrastrukture samo za ubrzavanje loše napisanih aplikacija.

Postoje oni poput pionira računala Donald Knuth koji je o optimizaciji računalnog koda rekao: „Ako optimizirate sve, uvijek ćete biti nezadovoljni.“ Mišljenja gospodina Knutha, bez obzira na to, optimiziranje koda za uravnoteženi iznos poboljšanja treba provoditi i tolerirati , Ali što je s komercijalnim programima koje kupite i implementirate svojim korisnicima? Na primjer, zimzeleni Microsoft Office paket standardni je paket aplikacija koje administratori sustava moraju učiniti dostupnima i lokalnim i udaljenim korisnicima.

U slučaju komercijalnih programa od kojih administratori nemaju utjecaja, oni moraju primijeniti višeslojnu strategiju za poboljšanje performansi. Spremanje zajedničkih bitova aplikacija bit će najbolja tehnologija administratora u ubrzavanju isporuke velikih aplikacija korisnicima.

caching

Svaki put kad pročitate ili čujete pojmove za učitavanje, prethodnu obradu ili predkompiliranje, pisac ili govornik najvjerojatnije se odnosi na neku vrstu predmemoriranja. Predmemoriranje aplikacije obično se odnosi na učitavanje određenih statičkih i nekih dinamičnih dijelova sadržaja u memorijski međuspremnik tako da ih je lako zatražiti na zahtjev. Jedini su bitovi isporučeni na cijev cjevovodima oni koji se moraju specifično odnositi na podatke korisnika ili druge podatke koji ovise o vremenu ili sesiji. Sve ostalo je urezano u sjećanje.

Predmemoriranje manje opterećuje pohranu podataka, širinu opsega mreže i CPU-e. Podaci čekaju u memoriji dok se ne pozove, a zatim kreću na svoje znatno kraće putovanje do krajnjeg korisnika. Većina tehnologija kombinira keširanje s lokacijom za brži prikaz sadržaja. Drugim riječima, zajednički podaci - koji su zajednički svim korisnicima - stavljaju se u spomenute CDN-ove i potom isporučuju korisnicima koji su u blizini traženih podataka. Neka rješenja idu tako daleko da lokalno predmemoriraju podatke na udaljenim ili satelitskim web lokacijama, tako da oni zajednički bitovi borave tamo gdje su potrošeni i ne moraju ih biti svježi preko WAN-a ili internetske veze.

Predmemoriranje je često poželjna metoda ubrzanja aplikacije jer je daleko jeftinija od rješenja s usporedivim performansama koja se oslanjaju na poboljšanja infrastrukture. (Da biste saznali više o predmemoriranju, pogledajte Koje je pisanje ispravno? Pogledajte metode I / O predmemoriranja.)

Sažetak

Možda je osnovno pravilo pri pokušaju optimizacije ili ubrzanja virtualnih aplikacija u bilo kojem okruženju prvo pokušati keširanje, a zatim tu strategiju nadopuniti drugim tehnologijama. Keširanje je najmanje skupo rješenje, a također je i najmanje invazivno. Najbolji savjet je kupiti puno RAM-a za predmemoriranje memorije i SSD-a za spremanje vruće podataka. Pokušajte zadržati troškove upravljivim, ali imajte na umu da, kada trošite novac na infrastrukturu i softver, možete ga amortizirati tijekom životnog vijeka tehnologije i raširiti ih na korisničkoj osnovi kako biste olakšali upravljanje probavi. Na kraju, učinite svoje korisnike produktivnima i sretnima, a oni će vas stalno uposliti.