Kom ihåg mig?
Home Menu

Menu


SCSI disk utan raid vs. SATA med RAID0

Ämnesverktyg Visningsalternativ
Oläst 2006-10-13, 12:46 #1
Iwe Iwe är inte uppkopplad
Nykomling
 
Reg.datum: May 2004
Inlägg: 13
Iwe Iwe är inte uppkopplad
Nykomling
 
Reg.datum: May 2004
Inlägg: 13
Vi har fått en flaskhals vad gäller I/O på vår sajt och behöver därför se till att snabba upp diskarna. Vi i dagsläget vår databas på ett par linuxburkar där vi har master på en burk och sedan replikering mot slav. Mastern är en opteron och slaven är en Xeon-burk. Båda burkarna har varsin SATA-disk på 80 GB (7200 rpm). Våra databas är uppdelad i 6 databaser med ca 100 tabeller i varje. Alltsomallt uppgår databaserna till sammanlagt ca 7-8 GB i dagsläget. När vi har 5-6000 online så har diskarna svårt att hinna med och det går lite trögare så vi måste se till att åtgärda detta.

Nu är jag ingen hårdvarutekniker men efter vad jag läst mig till på nätet så bör det snabbaste och mest kostnadseffektiva alternativet vara att vi fixar 2 diskar på varje burk och kör med RAID0. Jag är medveten om att RAID0 innebär att om en disk kraschar så förlorar vi all data på den burken. Dock ser jag inte detta som något större problem då vi har har flera burkar och förlorar vi datan på ena burken finns det kvar på den andra burken. Så rimligtvis borde vi kunna köra RAID0 utan alltför stor risk även om vi kör med SATA-diskar.

Så jag kontaktade de som hostar våra servrar och bad dom titta på kostnader för att nya diskar och att sätta upp RAID0 med 2 diskar på varje databasburk. Dock så fick jag då svaret att vi borde strunta i RAID och istället stoppa in en SCSI-disk i varje databasburk och att det skulle funka minst lika bra och vara minst lika snabbt om inte snabbare och dessutom vara betydligt driftsäkrare. Okej att det är skulle vara driftsäkrare det kan jag köpa men kan det verkligen vara så att en SCSI-disk (73GB, 15000 rpm, 300 MB/s) jämfört med att köra 2 SATA-diskar (7200 rpm) med RAID0?

Det är det som är frågan. Jag har försökt söka runt på nätet för att hitta några bra jämförelser mellan SCSI-disk utan raid och SATA-diskar med RAID0 men jag har inte hittat några bra. Jag antar då också att jämförelsen bör vara gjord på burkar för databasanvändning för att ge ett bra svar på huruvida vi bör köra SATA-diskar eller SCSI-disk.

Det vore väldigt intressant att höra från några som har lite erfarenheter kring detta. Är det verkligen så som vi fått rekommenderat till oss att en SCSI-disk skulle lösa våra I/O-problem minst lika bra som om vi satte in 2 SATA-diskar i varje burk och kör RAID0 på dom?

För övrig information så är så gott som hela databasen indexerad och alla queries är optimerade så gott det går så vi kan inte göra så mycket mer i det avseendet. Vad gäller CPU-användningen på databasburkarna så jobbar de på ca 15-20% under högtryck så det är inte heller något problem. Varje burk har 2GB i ram vilket i och för sig kanske skulle kunna ökas på, men jag tror inte det skulle lösa problemet vi har med I/O i dagsläget. MySQL-databasen är konfiguererad efter alla konstens regler med cachning etc. Tror inte vi kan åstadkomma mer genom att justera konfigureringen.

Tacksam för svar.
Iwe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-10-13, 13:58 #2
Crotalus Crotalus är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2004
Inlägg: 40
Crotalus Crotalus är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2004
Inlägg: 40
Jag gissar att flaskhalsen för tillfället är vid inläsning (söktiden hos hårddiskarna). En SCSI-disk på 15k RPM är teoretiskt sett dubbelt så snabb på att söka pga den ökade rotationshastigheten.

Exakt hur mycket en 2-diskars RAID0 hjälper angående söktiden är svårt att säga, jag skulle gissa att det inte gör alltför mycket. En RAID1 (eller tom RAID10) kan vara fördelaktigare då det finns möjlighet att göra två olika sökningar samtidigt på varje speglat par av diskarna. Mjukvaruraid i Linux utnyttjar iaf detta, kör man med hårdvarukontroller är det olika mellan tillverkare.

Min rekommendation är att ni trots allt funderar på om ni inte skulle stoppa in mer RAM i burkarna, iaf om det nu är läsning som är flaskhalsen. Tack vare att mer av databasen finns i RAM kommer antalet I/O-request mot disk minskas.
Crotalus är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-10-13, 14:03 #3
patrikweb patrikweb är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2004
Inlägg: 6 096
patrikweb patrikweb är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2004
Inlägg: 6 096
En SCSI lösning tror jag blir bättre, men normalt är det kontrollerkortet som gör mycket. Så där bör man inte spara pengar för diskarna kan vara värdelösa utan just bra kontrollerkort.

Men accesstiden på SCSI är alltid lite snabbare än SATA
patrikweb är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-10-13, 18:02 #4
Iwe Iwe är inte uppkopplad
Nykomling
 
Reg.datum: May 2004
Inlägg: 13
Iwe Iwe är inte uppkopplad
Nykomling
 
Reg.datum: May 2004
Inlägg: 13
Tack för era svar och synpunkter. Flaskhalsen är väl som jag ser det både vid inläsning och skrivning. Kanske behöver beskriva lite hur användningen av databasen ser ut. Ungefär lite drygt 15% av alla queries mot databasen är skrivningar. Många av dessa körs dock vid speciella tillfällen. Dels har vi en del nattliga uppdateringar men framförallt har vi körningar vid hela och halvtimmar då en större mängd update och inserts körs samlade och dessa skrivningar mot databasen får inte ta för lång tid. I dagsläget så halkar slaven efter lite vid dessa tillfällen och det tar lite för lång tid att köra även på mastern.

Vi optimerar för närvarande databaserna minst en gång i veckan vilket gör ganska stor skillnad på hur lång tid varje körning tar. I princip så är vi tvungna att optimera databasen väldigt ofta annars hade de dagliga körningarna i princip blivit okörbara efter ett tag. Orsaken till behovet av optimering är att vi rensar ganska mycket inaktuell data dagligen.

Eventuellt kan vi nog passa på att stoppa i lite mer RAM också när vi ändå förbättrar disksituationen, men som sagt så tror jag att den stora flaskhalsen är just diskarna för närvarande.
Iwe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-10-13, 19:29 #5
iXam iXam är inte uppkopplad
Medlem
 
Reg.datum: Aug 2005
Inlägg: 219
iXam iXam är inte uppkopplad
Medlem
 
Reg.datum: Aug 2005
Inlägg: 219
1) Mer minne.
2) Rätt operativsystem (32bitars vs. 64bitars).
3) Rätt kompilerad/länkad/Strippad/version av databasen.
4) Rätt databasstruktur och index.
Dubbellagring av data kan snabba upp frågor OTROLIGT mycket om man slipper dyrbara joins. Låt en fräsh extern utvecklare ta en titt på era databasfrågor och tabellstrukturer, det ÄR lätt att missa saker trots man är erfaren.
5) När man går ner på disk så ska man eleminera alla flaskhalsar man bara kan.
Tyvärr har jag inga direkta råd angående SCSI vs. SATA.
6) Se till att ha vettiga nätverkskort och vettig övrig nätverksutrustning samt att ha gigabit. Kanske ett separat nät för databastrafiken?
iXam är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-10-14, 00:42 #6
Crotalus Crotalus är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2004
Inlägg: 40
Crotalus Crotalus är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2004
Inlägg: 40
Köp ett kontrollerkort med rejäl skrivcache(+batteribackup) så kommer du märka enorm skillnad vid skrivning

Kan rekommendera Areca (heter Tekram i Europa) och 3ware när det gäller SATA, LSI när det gäller SCSI.
Crotalus är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 10:35.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017