Overselling ( eng. Overselling ) - toimittajapalvelujen myynti yli resurssien määrän, joka voidaan tarjota.
Mitä tulee hosting-palvelujen myyntiin , ylimyynti tarkoittaa laskentatehon myyntiä suurempina määrinä kuin palvelinlaitteisto pystyy tarjoamaan.
Aluksi ylimyynti liittyi jaettujen hosting-palvelujen myyntiin ja koski pääasiassa resursseja, kuten liikennettä ja kiintolevytilaa. Virtual Private Server (VPS/VDS) -palvelujen yleistymisen myötä sana "ylimyynti" on tullut tunnetuksi laajalle yleisölle, ja se on yleinen käytäntö useimmissa isännöintipalveluntarjoajissa .
Ylimyynti perustuu siihen, että useimmat asiakkaat eivät koskaan käytä täysimääräisesti tariffisuunnitelmassa heille osoitettuja resursseja. Siksi isännöintipalveluntarjoajat jälleenmyyvät palvelinkapasiteettia useita kertoja, mikä auttaa vähentämään energiakustannuksia ja vähentämään käyttämättömän kapasiteetin seisokkeja. Tämä johtaa palvelujen hintojen laskuun.
Esimerkki:
Palvelimella, jossa on 32 Gt RAM-muistia, voi olla 32 virtuaalista omistettua palvelinta , joille kullekin varataan 1 Gt RAM-muistia, jolloin kaikki asiakkaat saavat RAM -muistinsa maksimikuormituksella. Yleensä tämän kapasiteetin palvelimelle sijoitetaan paljon enemmän virtuaalikoneita.
Teoriassa on mahdollinen tilanne, jossa kaikki VPS/VDS yrittävät samanaikaisesti käyttää niille varattuja kapasiteettia ja fyysinen palvelin latautuu äärirajoille. Silloin palveluntarjoajan asiakkaat voivat huomata ylimyynnin seuraukset: palvelujen hidastuminen, virheet, sivuston ajoittainen epäkäytettävyys. Useimmat isännöintipalveluntarjoajat seuraavat huolellisesti fyysisten palvelimiensa kuormitusta eivätkä salli tällaisia tilanteita. Valvontajärjestelmät jakavat "ongelmaasiakkaat" ajoissa uudelleen muiden palvelimien kesken, mikä tapahtuu asiakkaiden itsensä huomaamatta.
Linux - käyttöjärjestelmä laskee käytetyn muistin useilla arvoilla: VIRT, RES, SHM.
VIRT (prosessin virtuaalinen koko) - prosessin käyttämä virtuaalinen muistimäärä. Tämä on tällä hetkellä käytetyn muistin, tämän prosessin tarpeisiinsa varaaman muistin, prosessin käyttämien levytiedostojen (useimmiten kirjastojen) ja muiden prosessien kanssa jaetun muistin summa. VIRT näyttää, kuinka paljon muistia prosessi voi tällä hetkellä saada.
RES (asukkaiden koko) - tällä hetkellä käytetty muistin määrä. Se on aina pienempi kuin VIRT, koska useimmat ohjelmat käyttävät samoja kirjastoja.
SHR - Näyttää kuinka paljon VIRT-muistia on yhteensä käytetty.
Esimerkiksi ohjelma käyttää vain osaa joistakin kirjaston toiminnoista. Siten koko kirjasto kirjoitetaan VIRT:iin ja SHM:iin, ja vain tosiasiallisesti käytetty osa pääsee RES:ään.
Laskettaessa OpenVZ:ssä säiliön sisällä käytettävää muistia otetaan huomioon VIRT, joka on enemmän kuin todellinen kulutettu muisti, mutta vieraskäyttöjärjestelmää voidaan käyttää. Siten kun myyt VPS/VDS:ää VIRT-muistin kautta, voit myydä enemmän kuin pääpalvelimella on käytettävissä olevaa muistia.
Muistin ylimyynnissä käytetään parametreja vmguarpages, oomguarpages ja vmguarpages - tämä on muistin varaus säilölle ja oomguarpages on prosessin muistiraja.
CPU OversellingSuorittimen käyttöraja asetetaan kontin käynnistyksen yhteydessä parametreilla cpuunits (taattu CPU:n vähimmäisaikaarvo VDS:lle), cpulimit (maksimiarvo, jota VDS voi käyttää, prosentteina) ja cpus (VDS:n käyttämien ytimien määrä).
Cpulimit toimii, kun palvelin on käyttämättömänä ja yhdestä konteista puuttuu cpuunits-arvo, jolloin se voi käyttää jopa n% ytimestä (ytimet, arvo cpusissa).
Muistin ylimyynti tapahtuu samalla periaatteella kuin OpenVZ :ssä, yhdellä erolla, sitä pidetään RES:nä. Se on todella käytetty muisti. Esimerkiksi sinulla on n libc-kirjastoa käyttävää prosessia, jokainen prosessi kuluttaa 10 MB, joista 2 MB on libc:n direktiivejä, joten (10-2) * n + 2 lasketaan, ja riippumatta siitä kuinka paljon hän varasi VIRT:ssä . Joka 5. sekunti, jos se ylittyy, OOMkiller-niminen ytimen muistinjakomekanismi tappaa prosessit .
CPU OversellingSuoritin on myös rajoitettu samanlaisen periaatteen mukaisesti OpenVZ :n kanssa, VPS / VDS:ssä on pehmeä raja jopa 1 ytimeen, on myös kova raja, joka laukaisee komennon, jos 1 ydin on jo annettu kontti ja kuorma pidetään pitkään eikä putoa, niin kova raja aktivoituu.
FreeBSD Jail & OpenVZ HDD ylimyyntiKummassakin virtualisoinnissa ylimyymme levytilaa myymällä sen useita kertoja. Tässä tapauksessa isännöintipalveluntarjoajan on jatkuvasti varmistettava, että vapaata tilaa on riittävästi, jos yksi (useita) konteista (VDS) vaatii kaiken sen, mitä pitäisi olla.
Levyn käytön rajoitus voitaisiin tässä tapauksessa toteuttaa I/O-toimintojen rajoituksella, mutta tällä hetkellä tämä rajoitus on vaikea toteuttaa. Lopullinen ajuri ei tiedä, mistä lukukomento lähetettiin, eikä voi laskea sitä tietylle säilölle. Siksi he turvautuvat rajoittamaan samanaikaisesti avoimia tiedostoja - tiedostokuvauksia . Kun avoimien tiedostojen enimmäismäärä saavutetaan, vieraskäyttöjärjestelmä antaa virheilmoituksen päättyneistä innodeista .
Tässä virtualisoinnissa prosessorin ja RAM-muistin ylimyynti on mahdollista.
Ylihintainen RAMRAM-muistin ylimyynti voidaan tehdä käyttämällä Kernel SamePage Merging (KSM), Ballooning- ja Swapping -tekniikoita .
KSM toimii seuraavan periaatteen mukaan:
Ensimmäinen askel on määrittää KSM skannaamaan muistialueita, oletusarvoisesti KVM-virtualisointia ei ole määritetty toimimaan KSM:n kanssa. Kun KSM on määritetty, se alkaa etsiä RAM-muistista identtisiä tietoja. Kun KSM löytää 2 tai useampia osumia, se merkitsee tiedot jaetuiksi ja korvaa kaikki identtiset muistipaikat yhdellä lohkolla ja tekee siitä kirjoitussuojatun. Jos myöhemmin jokin tällaista muistia käyttävistä prosesseista pyytää tietojen muuttamista, KSM luo uuden alueen kopioimalla kirjoitussuojatun lohkon.
Ilmapalloilu:
Hypervisor (käyttöjärjestelmän hallintaohjelma) lähettää vieraskäyttöjärjestelmälle (VDS) pyynnön palauttaa osa RAM-muistista takaisin hallintaansa:
Hypervisor käyttää tätä muistia oman harkintansa mukaan siellä, missä sitä sillä hetkellä tarvitsee. Kun muisti pilvestä vapautuu, hypervisor voi palauttaa sen takaisin vieraskäyttöjärjestelmään, josta se on otettu:
Vaihto:
Muistin ylimyynti käyttää kiintolevyllä olevaa sivutustiedostoa.
CPU OversellingKVM-hypervisor tukee suorittimen ylimyyntiä Linux -aikataulun ja cgroups- mekanismin kautta priorisoimalla tietyt prosessit. Tässä tapauksessa vieraskäyttöjärjestelmä ei koe ongelmia, jos ne eivät käytä prosessoria 100%. Suorittimen ylimyynnillä et voi myydä yhdelle VDS:lle enempää ytimiä kuin palvelimella on, eikä sinun tarvitse sallia yli 80 %:n kuormitusta järjestelmään, koska ylimyynti voi merkittävästi heikentää sekä vieraskäyttöjärjestelmän että vierailijakäyttöjärjestelmän suorituskykyä. itse palvelin.