Visa ett inlägg
Oläst 2012-04-28, 17:18 #1
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
Standard Köra MySQL på ramdisk?

Tja!

Har suttit och funderat lite på framtida serverköp och konfiguration.

(Sjukt trött just nu så nedanstående kommer nog bli sjukt flummigt)

Jag vet, många är kritiska till ramdisk av den enkla anledningen att mycket, om inte det mesta ändå läggs in i ram och operativsystemen + caching sköter det hyffsat bra idag MEN jag har ett lite unikt användningsområde för just databasen som gör att jag lätt kan offra utrymme till en ramdisk.

För 99% av alla hemsidor på nätet så blir databasen bara större år efter år så det ställer ju vissa krav på utrymme, skalning, osv, min sida däremot har aldrig mer än 1 månad gammal data i databasen och oftast sparas data i bara några dagar innan den raderas. Dom enda tabellerna som aldrig raderas är användarkonton. Jag tvivlar starkt på att databasen någonsin kommer överstiga 2-3GB

Så istället för att köpa en jäkla massa disk för att få någorlunda hög IOPS så borde det ju vara lämpligare att lägga pengarna på minne istället för disk då jag inte på något sätt har behov av utrymme.

Så istället för att köpa 6st Seagate Savvio för 2´000kr/st så köper jag 4st Intel 520 60GB för runt 2´000kr (konsument SSD borde kunna fungera i servermiljö då dom ändå kommer ha ytterst lite skrivning) och 4st extra 8GB 1600mhz minnen för 5´000kr, en besparing på 5´000kr men ändå ett sjukt högt prestandalyft jämfört med Savvio setupen.

Totalt kommer servern då ha 64GB ram, gör 1 ramdisk på 4GB som databasen körs på, en ramdisk på 1GB för PHP/CSS/JS/Bilder till markupen. (Ja, dom kunde lika gärna ligga kvar på SSD setupen då dom ändå cachas i RAM men filerna invalideras ju med jämna mellanrum och lite andra anledningar, men tråden handlar om databasen så det behöver vi inte gå in på). Så då finns det ändå 59GB ram över till OS:et och cachingen.


Vad tror ni om detta? Ja, jag är mycket väl medveten att man ändå cachar databasen i RAM men jag tvivlar ändå på att 100% av databas anropen kommer slå rätt på cachen utan den skulle hämta några av sina queries från disk, och då kan den ju lika gärna hämta från en RAM-disk istället för 6st Savvio diskar i Raid10, man lär få en överlägsen IOPS och söktid på RAM-disken.

Det är ingen viktig data som ligger i databasen, det görs en automatisk backup av databasen till SSD raiden varje natt så högst skulle jag förlora 24 timmars data om strömmen skulle gå, vilket jag skulle kunna leva med, inga problem.


Denna setupen lär inte ge mig något extra arbete heller, inte överdrivet jobbigt att mounta RAM-disken på nytt om jag skulle behöva starta om servern eller om strömmen går, bara att slänga in backupen på RAM-disken med efter omstart, tar högst 1 minut efter omstart.

Tror denna setupen skulle vara ganska smidig ur cache synpunkt också, lär inte behöva någon memcache setup på bra länge då 100% av all databasanrop kommer att landa i RAM, oavsett om en query går på det som är cachat i ram eller om den behöver läsa från databasen på RAM-disken.

Setupen är som sagt även billigare än en setup med mekaniska diskar.


Så ja, vad tror ni, vilka nackdelar kommer ni på?

Senast redigerad av JesperA den 2012-04-28 klockan 17:21
JesperA är inte uppkopplad   Svara med citatSvara med citat