Hoeveel Prestaties Heeft Uw Cloud Server Echt Nodig?

0
232
agsandrew/Shutterstock

De meeste cloud providers verdelen hun aanbod van het aantal CPU-kernen en de hoeveelheid RAM-geheugen. Heeft u behoefte aan een grote multicore-server, of een hele vloot van hen? Hier is hoe om te gaan over het meten van uw server real-world prestaties.

Doet Uw Toepassing Nodig heeft om te “Schalen”?

Het is heel gebruikelijk voor tech-startups om aangetrokken te worden tot “schaalbaar” architectuur—dat is, het bouwen van uw server architectuur op een zodanige wijze dat elk onderdeel van het kan worden aangepast om te voldoen aan elke hoeveelheid van de vraag.

Dit is geweldig, maar als je niet ervaren dat bedrag van real-world verkeer, kan worden overkill (en duurder) om te bouwen van schaalbare architectuur met de bedoeling van de schalen tot een miljoen gebruikers als je alleen het beheren van een paar duizend.

U zult willen prioriteit geven aan het bouwen van een goede app over het hoofd gebouw uitzonderlijke infrastructuur. De meeste toepassingen worden uitgevoerd heel goed met een paar eenvoudig te beheren standaard servers. En, als je de app ooit is groot, uw groei zal waarschijnlijk gebeuren in de loop van een paar maanden, waardoor u voldoende tijd (en geld) om te werken op uw infrastructuur.

Schaalbare architectuur is nog steeds een goede zaak te bouwen rond wel, vooral op diensten, zoals AWS waar autoscaling kan worden gebruikt om de schaal en bespaar geld tijdens niet-piekuren.

GERELATEERD: Hoe de Snelheid van een Trage Website

U Moet Plan voor piekbelasting

De meest belangrijke ding om in gedachten te houden is dat je niet van plan bent rond gemiddelde belasting, je van plan bent rond de piekbelasting. Als je servers kan niet omgaan met uw piekbelasting tijdens de lunch, zijn ze niet in hun doel gediend. Moet je ervoor zorgen dat je het meten en begrijpen van uw server belasting over de tijd, plaats dan even een kijkje op CPU-gebruik in een enkel moment.

Schaalbare architectuur is het handig hier. In staat om snel te draaien tot een plek aanleg (en dat is vaak veel goedkoper) om enkele van de load off van uw belangrijkste servers is een zeer goed ontwerp paradigma, en kunt u aanzienlijk kosten besparen. Immers, als je twee servers voor een paar uur per dag, waarom betalen om te draaien ‘ s nachts?

De meeste grote cloud providers hebben ook schaalbare oplossingen voor containers als Dokwerker, die laat je de schaal van dingen automatisch, omdat uw infrastructuur kan worden gedupliceerd meer gemakkelijk.

GERELATEERD: Wat Doet Docker Doen, en Wanneer Gebruik Je Het?

Hoeveel Prestaties Doet Uw Server Geven?

Het is een moeilijke vraag om te beantwoorden precies; iedereen applicaties en websites zijn verschillend, en iedereen server hosting is anders. Kunnen We niet geven u een exacte antwoord op die server past uw gebruik van het geval het beste.

Wat we wel kunnen doen is u vertellen hoe om te gaan experimenteren voor jezelf uit te vinden wat het beste werkt voor uw specifieke toepassing. Het gaat om het uitvoeren van uw aanvraag in het kader van de echte wereld leven, en het meten van bepaalde factoren om te bepalen of je te veel of te zwaar belast.

Als uw aanvraag wordt overbelast, je kunt draaien tot een tweede server en het gebruik van een load balancer voor het evenwicht in het verkeer tussen hen, zoals AWS s Elastic Load Balancer of Snel Load Balancing-service. Als het aanzienlijk zwaar belast, kunt u opslaan van een paar dollar bij het huren van een goedkopere server.

CPU-Gebruik

CPU-gebruik is waarschijnlijk de meest nuttige gegeven te beschouwen. Het geeft u een algemeen overzicht van hoe uw server overbelast is; als het CPU-gebruik is te hoog, handelingen van de server kan een ons weegt.

CPU-gebruik is zichtbaar in de top, en het laden van de gemiddelden voor de laatste 1, 5, en 15 minuten zijn ook zichtbaar. Het krijgt de gegevens uit /proc/loadavg/, dus kunt u deze naar een CSV-bestand en een grafiek in Excel als u wilt.

De meeste cloud providers hebben een veel betere grafiek voor deze wel. AWS heeft CloudWatch, die toont het CPU-gebruik voor elk exemplaar onder de EC2 statistieken:

Google Cloud Platform staat een mooie grafiek onder de “Monitoring” – tab in de aanleg info:

In beide grafieken, kunt u de tijdschema ‘ s weer te geven CPU-gebruik in de tijd. Als deze grafiek is constant raken van 100%, wilt u misschien op zoek naar een upgrade.

Houd er echter rekening mee, dat als uw server heeft meerdere cores, kan het CPU-gebruik nog steeds “overbelast”, terwijl de grafiek wordt nergens in de buurt van 100%. Als uw CPU-gebruik is vastgemaakt in de buurt van 50%, en je hebt een dual-core server, is het waarschijnlijk dat uw aanvraag is meestal single threaded, en is niet het zien van alle voordelen te genieten.

RAM-geheugen Gebruik

RAM-geheugen gebruik is het minder waarschijnlijk om te fluctueren veel, want het is grotendeels een kwestie van of je wel of niet genoeg voor het uitvoeren van een bepaalde taak.

U kunt het geheugengebruik bekijken, snel in de top, die hier worden de momenteel toegewezen geheugen in voor elk proces in de “RES” column weer te geven gebruik als een percentage van het totale geheugen in de “%MEM” – kolom.

Kunt u op Shift + M om op te sorteren %MEM, dat geeft het meeste geheugen-intensieve processen.

Let op, de snelheid van het geheugen heeft invloed op de snelheid van CPU naar een bepaalde hoogte, maar het zal waarschijnlijk niet de beperkende factor is, tenzij u een toepassing uitvoert die vereist bare-metal en de hoogste snelheden mogelijk.

Opslag Ruimte

Als uw server wordt uitgevoerd van de ruimte, het crashen van bepaalde processen. U kunt controleren schijfgebruik met:

df -H

Dit toont een lijst van alle apparaten die zijn aangesloten op uw exemplaar, waarvan sommige niet nuttig zijn voor u. Kijk voor de grootste (waarschijnlijk /dev/sda1/), en u kunt zien hoe veel is die momenteel wordt gebruikt.

Je nodig hebt om effectief gebruik te maken van de log-rotatie, en zorg ervoor dat er niets het creëren van overbodige bestanden op uw systeem. Als er is, mag u wilt beperken tot alleen het opslaan van de laatste paar bestanden. U kunt het verwijderen van oude bestanden door gebruik te vinden met de tijd parameters, gekoppeld aan een cron taak die wordt uitgevoerd zodra een uur:

0 * * * * vind ~/backups/ -type f -mmin +90 -exec rm -f {} ;

Dit script verwijdert alle bestanden in ~/backups/ map ouder dan 90 minuten (voor een Minecraft server die was het maken van 1GB+ formaat back-ups om de 15 minuten, het vullen van een 16GB SSD). U kunt ook gebruik maken van logrotate, dat bereikt hetzelfde effect meer elegant dan deze haastig geschreven opdracht.

Als je opslaan in een ton van de bestanden, kunt u overwegen om ze te verplaatsen naar een managed storage service als S3. Het zal goedkoper zijn dan met schijven aangesloten aan uw exemplaar.

GERELATEERD: Hoe Setup Logrotate op Linux (om te Houden van Uw Server Ruimte)

Snelheid Van Het Netwerk

Er is niet een geweldige manier om te controleren deze native, dus als je wilt om een goede command line output, installeren sar van sysstat:

sudo apt-get install sysstat

Inschakelen door het bewerken van /etc/default/sysstat en instelling is ingesteld op “ENABLED” true.

Hierdoor controleert ook uw systeem en genereert een rapport om de 10 minuten, draai ze een keer een dag. U kunt dit wijzigen door het wijzigen van de sysstat crontab /etc/cron.d/sysstat.

U kunt ze verzamelen een gemiddelde van net werk verkeer met de -e vlag:

sar -n DEV 1 6

De pijp aan staart voor mooier output:

sar -n DEV 1 6 | staart -n3

Het geeft een gemiddelde van pakketten en kilobytes verzonden per seconde op elke netwerk-interface.

Het is makkelijker om gebruik van een GUI voor deze, hoewel; CloudWatch heeft een “Netwerk” en “NetworkOut” statistiek voor elk exemplaar:

U kunt een dynamic label met de functie SOM, die geeft het totale netwerk in bytes voor een bepaalde periode.

Of je bent overbelasting van uw netwerk is moeilijk te beoordelen; de meeste van de tijd, je bent beperkt door andere dingen, zoals of je server kan houden met verzoeken, voordat u zorgen te maken over het gebruik van bandbreedte.

Als je je echt zorgen te maken over het verkeer of wilt serveren van grote bestanden, moet u overwegen om een CDN. Een CDN kan nemen, zowel wat de belasting van uw server en stellen u in staat om te dienen statische media zeer efficiënt.