Author Topic: RAM-minne för "Egen Server" (tex Dedikerad Server)  (Read 2177 times)

0 Members and 1 Guest are viewing this topic.

Offline eco

  • Global Moderator
  • Newbie
  • *****
  • Posts: 16
  • Karma: +2/-0
    • View Profile
RAM-minne för "Egen Server" (tex Dedikerad Server)
« on: February 08, 2013, 02:46:16 pm »
Hyr du en "Egen Server" hos oss som tex en Dedikerad Server (http://www.compartment.se/dedikerad-server) eller någon av våra andra Serverhostingtjänster ( http://www.compartment.se/serverhosting ) så som Virtuell Server (VPS) eller har ni en server i vår Co-location-tjänst (http://www.compartment.se/co-location) så kanske ni efter ett tag upptäckt att servern jobbar mer och mer, kanske till och med ibland upplevs som lite långsam?

Detta är viktiga varningssignaler att "fånga upp"!

Har ni inte redan tagit en koll på vårt övervakningsgränssnitt (tillgängligt för alla kunder med övervakning med "SirV") så: logga in där redan nu, börja med att ta en titt på: http://cc.compartment.se/ och utgå från uppgifterna ni hittar där, ta gärna hjälp av vår support om ni behöver vägledning och tips.

Även i ett Linux- eller UNIX-baserat system så går nämligen RAM-minnet åt och det är inte ovanligt att man lägger på fler och fler "uppgifter" på sina servrar och då gäller det att också i takt med att servern får jobba hårdare ge den förutsättningar för att kunna utföra dessa "jobb" på ett bra sätt.

Har ni tex publika tjänster som webserver, mailserver eller liknande för era kunder och/eller användare på företaget så är det ofta en god idé att utöka RAM-minnet, dvs serverns arbetsminne så mycket det går.  Eftersom allt som körs på servern i viss mån kommer att behöva RAM-minne så är det nästan alltid den absolut billigaste och effektivaste metoden för att få en bättre plattform där tjänster och processer flyter på bättre.

Men det finns även andra potentiella "flaskhalsar" och ibland kan det behövas lite experthjälp från tex någon av våra tekniker för att hitta vad som eventuellt ställer till det i en kunds server och orsakar att tex ett program körs långsammare än vad det skulle kunna göra.

En god grundkonfiguration att utgå ifrån och som passar de allra flesta:

 - Mycket RAM. Har du tex tjänsten "Dedikerad Server 2" så varför inte redan från början lägga till RAM så du totalt har 16GB.

 - En bra CPU. Processorn är hjärtat i systemet. Väljer du ett enkärnigt system, oavsett om det är en virtuell server eller en "riktig" så utesluter du i princip möjligheten att, med god prestanda, köra flera olika tjänster som jobbar intensivt och lastar ned systemet samtidigt. Ett enkärnigt system lämpar sig bäst att göra en eller ett fåtal saker åt gången och bör inte lastas till 100% hela tiden. Välj om möjligt alltid minst ett tvåkärnigt system. Gärna fyra eller fler kärnor/processorer.

 - Diskspegling. Har du en fysisk server (ej en virtuell) som tex en Dedikerad Server så gör diskspegling inte bara under för datasäkerheten utan du får bättre prestanda dessutom. Systemdiskarna bör alltid vara speglade med RAID-1 eller motsvarande (aldrig RAID 0).  Intern lagring kan med fördel använda RAID-5 -tekniken, det blir både snabbt och du får hög datasäkerhet.

 - Ha alltid minst 30% att "ta av". Lastar du systemet till 100% så kommer saker och ting stundtals upplevas långsamt. Hemligheten bakom mycket i IT-sammanhang är att alltid ha minst 30% överkapacitet. Kör du tex flera olika tjänster på servern så kan mycket väl en driftsituation uppstå där du plötsligt får anslutningar från alla användarna samtidigt, det kanske inte händer hela tiden men då och tå slumpar det sig så att den där 30% överkapaciteten verkligen behövs - och används upp.

Genom att hålla koll på övervakningen av servern (åter igen, ta en titt på http://cc.compartment.se/ då och då) och notera när du närmar dig en ca 70% belastning någonstans så är det dags att uppgradera. Nu. Gärna innan du faktiskt är nere under en 30% marginal.



Nedan har vi några exempel från verkliga livet och lite tips om hur man kan tolka graferna och vad som "döljer" sig och är lätt att missa om man inte vet hur man ska tolka resultatet:



Bild 1:
Processoranvändning per vecka.
Vid första anblick ser allt bra ut om man bara tittar på denna bild. Lite variation här och där men denna graf avslöjar inte vad som egentligen händer i denna server, nämligen att denna maskin är totalt överbelastad och att vissa tjänster stundtals fungerar mycket dåligt pga överbelastning. Vissa tjänster krashar då och då och startas om automatiskt med risk som driftstörningar för användarna som följd. Orsaken, som är mycket enkel att åtgärda missar man helt om man bara tittar på denna bild.

Bild 2:
Minnesanvändning per vecka.
Precis som grafen över CPU-utnyttjandet per vecka så ser vid en hastig anblick minnesanvändningen per vecka ganska ok ut om man inte vet vad man ska titta efter.
Om man inte heller tänker på att denna server bara har en enda Gigabyte RAM-minne, trots att det är ett tvåkärnigt system, så inser man inte hur akut minnesbristen är.

Faktum är att allt ledigt RAM-minne är allokerat på denna server och att maskinen jobbar intensivt med att flytta runt saker i swap-utrymmet - som dessutom ligger på den enda hårddisken i servern (ej diskspeglad). I praktiken innebär detta att systemet håller på att "swappa sönder" systemdisken. En diskkrash kommer att inträffa så småningom. Om man uppgraderar systemet med tillräckligt mycket RAM-minne så skjuter man upp systemkrashen.

Gissningsvis måste detta system ha mer än 2GB minne, eftersom allt swap-space ätits upp och systemet hela tiden växlar, eller flyttar runt program mellan swap, ram och kastar ut program och släpper tillbaks dem in osv. Systemet går på knäna mer eller mindre konstant och en uppgradering till ca 4GB eller mer vore på sin plats. Snarast möjligt dessutom.

Bild 3:
Systembelastning per vecka.
Även denna översiktsbild kan lura även en erfaren systemadministratör att tro att detta system mår ganska bra. En topp upp till load average 6 syns visserligen men den ser ut att vara kortvarig och i övrigt ser det ut som om systemet ibland "toppar" på 3 osv men ligger mellan 1 och 2 för det mesta.

Detta är som sagt ett tvåkärnigt system så på load average 2.0 jobbar systemet för 100%, dvs båda processorkärnorna jobbar för fullt och nya processer blir försenade osv. Det finns ingen marginal men det ser vid en första anblick ut som om det är ganska ok. I själva veket, och vilket också syns på den sista bilden så är det så att systemet toppar på betydligt högre värden än 6.0, till och med högre än vad som hinner registreras på den sista bilden, bild 4, där det ser ut som om den jobbar på 12.0.

Bild 4:
Detaljerad vy över den senaste dagens belastning. I själva verket hade servern jobbat på load average 32 ganska länge strax innan bilden togs. Det går dock så snabbt att det inte hinner registreras ordentligt. Stundtals svarar inte systemet då det jobbar så hårt med att hantera alla processer som ligger på kö och väntar på att få tillgång till serverns cpu, ram osv. Server kämpar för att få någonting alls att fungera och i vår övervakning såg vi larmrapporter om att program som apache krashat och startats om osv.

Detta system är i akut behov av uppgradering. Hade en systemadministratör inte brytt sig om att kontrollera hur maskinen "mår" hade man lätt kunnat missa dessa problem och om man inte vet hur man ska tolka övervakningsbilderna så är det troligt att man låter systemet jobba på på detta vis med en ganska snart förestående systemkrash (diskkrash om inte annat) till följd.



Slutsats: Är du en relativt oerfaren systemadministratör: ta en titt på övervakningen då och då och stäm gärna av med vår support att allt verkar flyta på som det ska. Även om du tycker allt ser ut att fungera bra så kontakta oss någon gång i kvartalet ändå bara för att höra efter.

Även en mer erfaren systemadministratör kan lätt missa att en server i själva verket inte "mår bra" och behöver uppgraderas. Med en enkel och billig uppgradering som tex lite mer RAM-minne kan hela problemet lösas och allvarliga problem kan förebyggas.
« Last Edit: February 08, 2013, 03:01:04 pm by eco »

Offline eco

  • Global Moderator
  • Newbie
  • *****
  • Posts: 16
  • Karma: +2/-0
    • View Profile
Re: RAM-minne för "Egen Server" (tex Dedikerad Server)
« Reply #1 on: February 08, 2013, 02:53:08 pm »
Ytterligare en bild från övervakningen; SWAP-minnesanvändningen:

Denna bild talar sitt tydliga språk, här ser vi att det swappas en hel del, framför allt det fakum att det förändras mycket och att det finns några höga toppar kan tyda på att det i själva verket behövs lite mer RAM-minne. I detta fall skulle det nog räcka med 2GB extra men då denna servermodell bara har två platser för minneskort är det lika bra att sätta i en extra 4GB eller varför inte 2x4GB.

Då olika servermodeller har olika förutsättningar, vissa kanske bara klarar 2x2GB medan vissa klarar så mycket som 8x8GB osv så är det viktigt att tänka till vilken väg som är bäst. I regel är det bra att alltid "maxa rammet", dvs sätta i så mycket arbetsminne som det bara går i ett system redan från början eller åtminstone sätta i mycket och lämna plats för mer. Att tex sätta i 4st 1GB -kort i en server som bara har fyra minneskortplatser är korkat, vid en uppgradering måste du ta bort 1GB-korten. Varför inte då istället sätta i 1x4GB och ha 3st lediga kortplatser för 3x4GB i framtiden.

I regel är det viktigt att alltid sätta i minnet "symmetriskt", dvs har du 1st 4GB i kortplats #1 så måste du sätta en likadan 4GB i kortplats #2. Därför kan det vara klokt att sätta i så stora minneskort som möjligt redan från början, gärna 8GB om möjligt så att du enkelt kan uppgradera med mycket mer minne utan att behöva utföra underhållsarbeten som tar lång tid. Det är viktigt att underhållsarbetet går att göra blixtsnabbt eftersom vi alltid måste stänga ned servern för att montera mer minne = nedtid för er.

Det är omöjligt att sätta i mer RAM under drift på alla servrar bortsett från virtuella servrar. Här kan vi uppgradera under drift och i regel behövs inte ens en omstart av den virtuella servern.



« Last Edit: February 08, 2013, 03:01:39 pm by eco »

Offline eco

  • Global Moderator
  • Newbie
  • *****
  • Posts: 16
  • Karma: +2/-0
    • View Profile
Re: RAM-minne för "Egen Server" (tex Dedikerad Server)
« Reply #2 on: February 08, 2013, 03:11:13 pm »
Hur gör man då för att tidigt upptäcka om något inte stämmer?

Jo, det är ganska enkelt men det kräver egentligen att du lägger lite tid då och då (eller tecknar något av våra IT-supportavtal och låter oss på compartment göra jobbet helt eller delvis tillsammans med er). Varje gång du loggar in kan (bör) du göra några enkla kontroller. Det går snabbt och är enkelt, här är några exempel:


Använder du operativsystemet 'compartment Linux' (http://linux.compartment.se) så kan du helt enkelt ange kommandot 'up' (du skriver helt enkelt bara: "up" direkt i prompten) och du får ett resultat tillbaks som visar lite hur systemet jobbar just nu, och den senaste tiden). Använder du någon annan version av Linux eller Unix kan du i regel använda kommandot uptime och top för att bilda dig en snabb överblick över hur servern "mår". Tänk på att dessa kommandon bara tittar på just nu, i regel de senaste femton minutrarna.

Ta därför också en titt på övervakningen, logga in på cc.compartment.se och rådfråga gärna vår supportpersonal om lite enkla tips och tricks.

Ser du att servern verkar jobba misstänkt mycket och du har svårt att förstå varför, ta gärna kontakt med oss och be oss logga in direkt i systemet, kanske är det något som faktiskt indikerar att du bör uppgradera, kanske är det ett program som "jobbar på fel sätt" och som kan åtgärdas enkelt.

Det vi inte alls tittat på i denna forumtråd är hur diskutrymmet används, dvs du kanske har väldigt ont om internt lagringsutrymme på hårdiskar i din server. Detta kan såklart också påverka vissa saker och du bör självfallet aldrig få helt fullt. Dessutom använder vissa program /tmp (eller /var/tmp osv) och här behöver du tex i regel ha lika mycket ledigt utrymme som dessa processer tar upp. Ska du tex komprimera en fil på 2GB så kanske ditt komprimeringsprogram behöver 2GB på /tmp tillgängligt under arbetets gång osv. tumregeln om 30% överkapacitet är tillämpbar även på lagringsutrymme. Tänk dock på att saker som säkerhetskopior ofta förbrukar oerhörda mängder lagringsutrymme. 30% kanske inte räcker.
Se även till så att du inte får med en säkerhetskopia i säkerhetskopian, det är inte ovanligt att vi får samtal från kunder som gör en "full backup" och får med den förra fulla backupen även i den nya backupen, det säger sig självt att om du gör några sådana backupper så kommer du ganska snabbt fylla upp hela disken och inte kunna packa upp någonting för att radera filer ens en gång.

Använd alltid någon av våra externa lagringstjänster för lagring av säkerhetskopior. Inte minst för att undvika saker som att någon av misstag råkar radera fel fil, det händer den bäste då och då och om din enda säkerhetskopia ligger lokalt så är det helt enkelt kört om du raderar den.

Något så enkelt som en 20GB backup-tjänst kan vara en livräddare i sådana situationer.