![]() |
vps / dedikerad server med fokus på databasprestanda
Vi är på väg att lansera en tjänst som kommer kräva databasprestanda, databasen är väldigt stor och kommer vara sökbar.
Vad är det man borde tänka mest på när man ska hosta en sån tjänst? I början hade vi tänkt oss vps/dedikerad med max 1.000:- månadsavgift , däremot kommer vi vid behov uppgradera servern och då spelar priset inte så mycket roll utan vi tar det som behövs för att sajten kommer fortsätta vara blixtsnabb. Vilket webbhotell tycker ni har bäst vps/dedikerad server som sen kan enkelt uppgraderas vid behov, och vilken hårdvara är viktigast när mycket krävs från databasen? Tack för svar! =) |
Jag skulle inte kört VPS för en stor och krävande databas, egen server bör du köra.
Mycket minne och SSD gör extremt mycket, både minne och CPU är extremt billigt idag. Nu vet jag inte vad du menar med väldig stor databas, men om du behöver över 100-300GB blir SSD väldigt dyrt och då bör du köra med SAS. |
Med väldigt stor menar jag ett par miljoner rader, raderna själva har kanske inte så mycket information dock.
Vilka lösningar finns det för en dedikerad server med SSD? Kan inte hitta några, måste man bygga en server själv då och fixa colocation? |
Minne är den absolut viktigaste parametern. Tyvärr är det det som är dyrast också. Annat såsom CPU, diskutrymme och bandbredd kan du få för spottstyvrar men minne måste man betala för. Ju mer minne, desto större del av databasen kan du cacha så att trafiken slipper belasta hårddiskarna vilket är det som tar mest tid.
Dessutom beror det på vad du menar med "väldigt stor." Själv har jag en "liten" databas med fyra miljoner rader och den klarar sig hur bra som helst på 200mb minne. Är databasen för stor kanske du måste välja en dedikerad server istället för ett vps. Är den "ännu större" kanske du behöver ett helt kluster och en distribuerad databas. Men det finns leverantörer som erbjuder vps med 8gb ram som är fullt tillräckligt även för "väldigt stora" databaser (storlek är ju relativt). Sen skulle jag vilja påstå att ännu viktigare för prestandan, är hur mycket teknik du själv kan/hur skickliga dina tekniker är. Vet man hur memcached, squid, nginx, indexering och lastbalansering fungerar kan man pressa ut hundra gånger mer prestanda ur samma hårdvara än någon som inte kan det. |
Minne är ju i stort sätt gratis idag, 16GB ram kan man få för några tusen. Börjar endast bli dyrt om man har ont om slott och behöver stora moduler.
|
Stora databaser är ett väldigt relativt begrepp men generellt så har jag på sista tiden insett att många löser prestandaproblem med hårdvara pga. okunskap inom databasadministration. Indexeringar och underhåll är väldigt sällsynt, hittar man underhåll så är de oftast i form av rebuild index och kanske med en reorg med lite tur. Dessutom bör man använda views och stored procedures i större utsträckning än vad som är vanligt.
Om det rör sig om mycket trafik till databasen så är ramminne minst lika viktigt som korrekta index. Sen hur man sätter upp det hela beror också på om det är mycket läs eller mycket skriv eller både och. Det är inte för inte som det finns långa kurser att gå för att bli en bra dba. Tyvärr är de flesta ganska tråkiga (därför är jag ingen bra dba). :) |
För att få en dedikerad server med SSD så är det bara att droppa
ett mail till leverantören så kan de säkert ordna detta. Ska du ha extrem prestanda så kan man alltid satsa på Fusion I/O:s IODrives som är flashdiskar anslutna direkt på ett PCIe-kort och krossar allt vad "vanliga" SSD och SAS heter. Ett kort motsvarar i IOPS som ett 250-diskars 15k-SAN.. Men visst, korten kostar lite grann. Vill du ha mycket prestanda så kan en dedikerad server med 4-8 GB RAM och 4 SAS-diskar (RAID10) bli riktigt bra för dig, men det kommer kosta bra mycket mer än en tusing i månaden. Du kanske ska börja med en VPS med kanske 4 GB RAM och känna dig för innan du går vidare. Databasen kan du ju alltid flytta till en ny server i efterhand. |
HP har bland annat SSD diskar att erbjuda i serverna, tror nog alla kan erbjuda de.
Enligt MS så är en databas liten om den är under 50GB, men jag skulle inte vilja köra en "liten" 40GB databas på en VPS. |
Dumsnåla inte på en vps utan försöka att hitta en lösning som ni tror på.
|
VPS har definitivt möjlighet att klara IOPS som databasservrar kör (beroende på vad som körs, direct mot disk, kraftigt SAN).
Men tyvärr är de flesta VPS begränsade i och med att bakomliggande hårdvara delas. Sen faller en viss procent av kapacitet ifrån även om t.ex. VMWare ger gästsystem (VPS:erna) access till systemanrop direkt mot hårdvara. Instämmer med tidigare talare. Dedicerad server är nog vad du ska satsa på. Börja på enklare system och bygg på allt efter som. Du kan även köpa och ställa på co-location. Att satsa på SSD kanske är lite att ta i, ta hellre mer RAM minne och konfa upp databasen att det får cacha allt i minnet. Är man orolig för strömbortfall väljer man server med redundant strömförsörjning. Vill passa på att tipsa om billigare co-lo/dedicerade servrar som bygger på ATOM 310/510. 310 är begränsad till 2GB ram, men 510 kan du stoppa in mer. Ha flera sådana i ett kluster och du får väldigt hög prestanda. Man kan börja med ett, och sen bygga ut allt eftersom behovet finns. |
Jag tycker det här verkar vara en smidig lösning:
http://www.mycitycloud.se/priser |
Det finns ju även Glesys nya Cloud/Moln/VPS tjänst med bra priser
http://glesys.se/serverhotell/vps/ |
Beror lite på vilken databas ni ska köra, men mysql presterar väldigt bra om RAM räcker till så att hela databasen får plats där.
Då är diskar en sekundär fråga. Läs på noga om konfigurering och tilldelning av minne. |
Citat:
|
Även om RAM biten är fullständigt kritiskt hade jag valt något med snabba diskar oavsett - om du tror du kommer växa rejält framöver. Det ger dig tryggheten över tiden då jag har en känsla att du på vägen ändå någonstans på vägen blir beroende av IO biten.
Vi har migrerat en hel del företag till vår molnlösning MEN - vi har ett par riktigt feta dedikerade databas-servrar (Flera Terabyte och skall klara 30-40000 samtidiga användare) där vi just av extrem IO krav lämnat det på dedikerat. Dessa kör SAS 15k diskar från EMC vilket är dyrt värre (kombinerat med mycket mem cache) och inte ett alternativ förrän man verkligen har behovet. Även om migrering alltid är jobbigt så är det några med oss som erbjuder dedikerat utan uppläggningsavgift - vilket innebär att du skulle kunna växa även i dedikerat och få ekonomin att gå ihop. Drift i molnet är ju annars extremt smidigt. |
"databasprestanda" är inte så bra specificerat. Har du till 99% krav på läsning/sökning/etc så se till att ha vettiga frågor, bra index och mycket minne och i ett sådant scenario kanske en VPS med massa minne räcker gott och väl.
Om ni däremot kommer att ha mycket skrivningar/transaktioner till databasen så blir ju hårdvaran desto viktigare eftersom du måste ner och skriva "fysiskt" när du sparar saker. Profilera koden/databasen, Prova sätta upp en VPS på en arbetsstation och se hur det funkar så ni vet vad som drar prestanda och om mer minne hjälper samt hur ni ska konfigurera databasen. |
Man bör iallafall inte göra som en firma jag konsultade för. :)
Dumsnålt spara in på uppgraderingar av server (minne, cpu) trots rekommendationer från undertecknade. Sen när en mjukvarubugg ställer till det, ta in konsulter för tusentals kronor/h som sedan konstaterar att felet är så pass enkelt (mjukvara) och att tidigare rekommendationer bör ha följts. |
Ja, det man inte har i huvet får man ha i plånboken, så brukar det vara.
Dom som varken har en fin plånbok och inget i huvet ligger risigt till :D |
Alla tider är GMT +2. Klockan är nu 23:40. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson