Provoz databáze na SSD

PanKapitanRUM

Provoz databáze na SSD
« kdy: 24. 03. 2013, 13:18:39 »
K napsání tohoto postu mě "donutil" jeden z našich předních rootovských odborníků na HW ::)

Tedy: Mám se u SSD bát přepisů?
To je hodně záludná otázka, existují dva typy SSD z toho SLC ukládají do jedné buňky 1 informaci MLC více.
Databáze se lépe ve FIREMNÍM prostředí hodí na SAS SSD typu SLC.
Doma si ovšem vystačíme i s levným SSD typu MLC.

Základem honění si DB na SSD je použít dobrou databázi, MySQL Like je například Percona: http://www.percona.com/

Citace
Percona XtraDB is an enhanced version of the InnoDB storage engine for MySQL and MariaDB. It has much faster performance than InnoDB and better scalability on modern hardware. XtraDB has more features than InnoDB; these are useful in high-load environments. It is backwards-compatible with InnoDB, so you can use it as a drop-in replacement.

Percona podle různých tvrzení svých tvůrců počítá s provozem na SSD a řadu operací provádí v paměti, tj. celá transakce se zapíše z paměti na disk až po dokončení, atd. atd.

Faktem zůstává, že víc než SSD urychlí DB víc paměti, resp. vhodné nastavení SQL tak, aby měla k dispozici alespoň řekněme 2 giga jen pro sebe.

Vše je to dále rozebíráno například:
http://forum.root.cz/index.php?topic=6141.0
http://forum.root.cz/index.php?topic=5968.0

Není SSD jako SSD, menší SSD je obvykle složeno z méně chipů, tedy 30GB SSD má jednak 1/4 velikost oproti 120GB SSD, jednak jen 1/4  chipů, jednak skutečná kapacita je 30vs32GB a 120vs128GB tedy má i 1/4 kapacitu "volných buněk" vyhrazenou pro opotřebení a jednak se samozřejmě opotřebí (při stejném datovém toku) za 1/4 času.

Co to znamená?
Pokud chci mít SSD dlouho zdravé, určitě se vyplatí pořídit vyšší kapacitu, protože vyšší kapacita = více čipů, na které se rozkládá zápis.

Jak se rozbíjí SSD: http://diit.cz/clanek/ssd-deep-in-hell
Na to se vážně podívejte, to SSD vydrží neuvěřitelné věci!


Koukněme se na jedno SSD v intenzivním domácím provozu:
Na SSD byla databáze!

Citace
Model Number:   OCZ-VERTEX3                             
Serial Number:   OCZ-AACRZ----------
WWN:      -----------------------

 ID ATTRIBUTE                            STATUS   VALUE   WORST   THRESHOLD   TYPE   UPDATED   RAW
  1 Raw Read Error Rate                  0x000f   120   120   050   Pre-fail    Always     0/0
  5 Retired Block Count                  0x0033   100   100   003   Pre-fail    Always     0
  9 Power-On Hours                       0x0032   097   097   000   Old age     Always     2864h+50m+56.020s
 12 Device Power Cycle Count             0x0032   100   100   000   Old age     Always     0
171 Program Fail Count                   0x0032   000   000   000   Old age     Always     0
172 Erase_Fail Count                     0x0032   000   000   000   Old age     Always     0
174 Unexpected Power Loss                0x0030   000   000   000   Old age     Offline    40
177 Wear Range Delta                     0x0000   000   000   000   Old age     Offline    0
181 Program Fail Count                   0x0032   000   000   000   Old age     Always     0
182 Erase Fail Count                     0x0032   000   000   000   Old age     Always     0
187 Reported Uncorrectable               0x0032   100   100   000   Old age     Always     0
194 Temperature Celsius                  0x0022   030   030   000   Old age     Always     30 (Min/Max 30/30)
195 ECC On-the-Fly Error Count           0x001c   100   100   000   Old age     Offline    0/0
196 Reallocation Event Count             0x0033   100   100   003   Pre-fail    Always     0
201 Uncorrectable Soft Read Error Rate   0x001c   100   100   000   Old age     Offline    0/0
204 Soft ECC Correction Rate             0x001c   100   100   000   Old age     Offline    0/0
230 Life Curve Status                    0x0013   100   100   000   Pre-fail    Always     100
231 SSD Life Left                        0x0013   100   100   010   Pre-fail    Always     0
241 Lifetime Writes from Host            0x0032   000   000   000   Old age     Always     1079
242 Lifetime Reads to Host               0x0032   000   000   000   Old age     Always     1857

A teď porovnání s fungl novým SSD:

Citace
Model Number:   OCZ-VERTEX3 MI                         
Serial Number:   OCZ-L92997---------------
WWN:      ---------------------

 ID ATTRIBUTE                            STATUS   VALUE   WORST   THRESHOLD   TYPE   UPDATED   RAW
  1 Raw Read Error Rate                  0x000f   100   100   050   Pre-fail    Always     0/3224844
  5 Retired Block Count                  0x0033   100   100   003   Pre-fail    Always     0
  9 Power-On Hours                       0x0032   100   100   000   Old age     Always     181h+22m+27.760s
 12 Device Power Cycle Count             0x0032   100   100   000   Old age     Always     34
171 Program Fail Count                   0x0032   000   000   000   Old age     Always     0
172 Erase_Fail Count                     0x0032   000   000   000   Old age     Always     0
174 Unexpected Power Loss                0x0030   000   000   000   Old age     Offline    6
177 Wear Range Delta                     0x0000   000   000   000   Old age     Offline    0
181 Program Fail Count                   0x0032   000   000   000   Old age     Always     0
182 Erase Fail Count                     0x0032   000   000   000   Old age     Always     0
187 Reported Uncorrectable               0x0032   100   100   000   Old age     Always     0
194 Temperature Celsius                  0x0022   030   030   000   Old age     Always     30 (Min/Max 30/30)
195 ECC On-the-Fly Error Count           0x001c   120   120   000   Old age     Offline    0/3224844
196 Reallocation Event Count             0x0033   100   100   003   Pre-fail    Always     0
201 Uncorrectable Soft Read Error Rate   0x001c   120   120   000   Old age     Offline    0/3224844
204 Soft ECC Correction Rate             0x001c   120   120   000   Old age     Offline    0/3224844
230 Life Curve Status                    0x0013   100   100   000   Pre-fail    Always     100
231 SSD Life Left                        0x0013   100   100   010   Pre-fail    Always     0
241 Lifetime Writes from Host            0x0032   000   000   000   Old age     Always     107
242 Lifetime Reads to Host               0x0032   000   000   000   Old age     Always     125

A teď najdi 10 rozdílů  ::)

Zkusím stáhnout data ze smartů u podstatně více vytížených systémů.
Nicméně i po těch 2864-ti hodinách tj. cca 120-ti dnech permanence se netváří, že by mu něco vadilo  ::)

Na domácím serveru samozřejmě uvážíme, jaký bude poměr zápisů VS čtení, pokud je zápisů vlastně málo, není důvod nepoužít SSD!
Pokud si chceme být jistí, použijeme ze 120GB kapacity jen 100GB, pak i při úplném zaplnění disku bude vždy místo pro rozložení zátěže.
« Poslední změna: 24. 03. 2013, 21:23:46 od Petr Krčmář »


PanKapitanRUM

Re:SSD s Databází (Provoz Databáze na SSD)
« Odpověď #1 kdy: 24. 03. 2013, 13:27:16 »
Situaci velice krásně vystihl to_je_jedno

Do SERVERU pochopitelne nelze tlacit konzumni SSD. Ale do "domaci athlonek kterymu rikam server a na muj blogisek mi pisnou komentar 2 holky za den" je to naprosto v pohode. Prave protoze tam nebude zadny velky load, ale chce slusny odezvy je SSD idealni volba. A zrovna Samsung 840PRO je na tohle pouziti "kousek vic nez notebook na fejs ale furt to jeste neni registr vozidel" jak delany (stejne jako predtim intel 320).

Já používám všude OCZ, neb máme super ceny, ale velmi věřím tomu, že ten Samsung bude v naprosté pohodě.

PanKapitanRUM

Re:SSD s Databází (Provoz Databáze na SSD)
« Odpověď #2 kdy: 24. 03. 2013, 13:30:37 »
Jen pro info, 2 mechanické disky vytočí při provozu 24/7 2x10W =  70,- Kč měsíčně, to je 840,- Kč ročně!


Re:SSD s Databází (Provoz Databáze na SSD)
« Odpověď #3 kdy: 24. 03. 2013, 14:32:25 »
ja jsem zaujatej, me OCZ nesmi domu po tom co provedli s vyklestenim Vertex2, pak ne tak zcela povedeny Vertex3(ackoliv ty problemy byly primarne u SF)
Děkuji za možnost editace příspěvku.

Ivan

Re:SSD s Databází (Provoz Databáze na SSD)
« Odpověď #4 kdy: 24. 03. 2013, 15:24:45 »
Zrovna zvažujeme obměnu starého serveru DELL PowerEdge 850 na kterém běží MySql. Teď tam jsou SCSI disky což si myslím je zbytečný nadstandard. Jaké disky byste mi navrhli pro tuto zátěž, viz screenshot?  Plotny nebo SSL? Bude se měnit celý server, takže nemusí být kompatibilní s původním DELLem. A není to kritická aplikace, je to web kde jsou denní zálohy a to po případ havárie stačí. http://dl.dropbox.com/u/951343/zatez-mysql.gif


PanKapitanRUM

Re:SSD s Databází (Provoz Databáze na SSD)
« Odpověď #5 kdy: 24. 03. 2013, 16:06:25 »
2 Ivan: low-endové SSD bych do FIREMNÍHO serveru asi nedával ::)

Něco jiného je "domácí chroustalka", na které honíš nějaké fórum a občas něco vyvíjíš a opravdový firemní server.
Dej tam klasický disk a hodně paměti, výsledek dopadne hodně podobně.

V každém případě si nech udělat návrh serveru komplet třeba od Delláků.
SAS SSD se v serveru hodí, hlavně pokud tam honíš třeba virtuály, ale výrobce serveru má určitě svoje "oblíbené" a "odzkoušené" železo.
Nemá smysl jít proti nim.


mca

  • ***
  • 181
    • Zobrazit profil
Re:SSD s Databází (Provoz Databáze na SSD)
« Odpověď #6 kdy: 24. 03. 2013, 16:08:31 »
Jenze Intel320 neni consumer SSD, ale enterprise SSD a pouzivaji se do serveru napr.: Thomas Krenn AG. Jsou levne, odolne a maji velkou Spare Area. Consumer disk ti pod mix. workloadem spadne hodne rychle.

Ivan

Re:SSD s Databází (Provoz Databáze na SSD)
« Odpověď #7 kdy: 24. 03. 2013, 21:27:09 »
@PanKapitanRUM: Díky, myslel jsem si to také tak, ale řekl jsem si, že za zeptání nic nedám :) Přeci jen o SSD v podstatě nic nevím, všude je milion protichůdných informací a já jsem spíše přes přes SW než přes HW.

Rax

Re:Provoz databáze na SSD
« Odpověď #8 kdy: 24. 03. 2013, 22:36:40 »
K napsání tohoto postu mě "donutil" jeden z našich předních rootovských odborníků na HW ::)

A je to pořád stejně špatně, nikdo ze zdejších včetně RUMa evidentně nikdy v praxi neprovozoval DB na SSD a jen se tak plká.
Abychom se posunuli vpřed, potřebujeme sehnat někoho kdo v reálném provozu provozuje průměrnou DB na SSD tak dva roky a myslí se prostá náhrada SSD za HDD, žádné enterprise cacheování vybraných dat na SSD.

Do té doby navrhuji věnovat se spíše konzumaci tuzemáku ;)

PanKapitanRUM

Re:Provoz databáze na SSD
« Odpověď #9 kdy: 24. 03. 2013, 23:27:33 »

Bla

Re:Provoz databáze na SSD
« Odpověď #10 kdy: 25. 03. 2013, 10:46:52 »
Databáze na SSD lítá jako z praku!
Pokud do databáze nezapíšete víc než pár giga za den, musí vydržet 5 let, je to i ve specifikaci JEDEC!

Ivan

Re:Provoz databáze na SSD
« Odpověď #11 kdy: 25. 03. 2013, 10:54:00 »
@Bla: O tom není pochyb. Otázka je, na jakém SSD. Už se tu někde objevil odkaz na 800 GB disk za 5400 Ł, tak do něj fakt nejdu, na to si ten web rozhodně nevydělá ;)

Tomas

Re:Provoz databáze na SSD
« Odpověď #12 kdy: 25. 03. 2013, 11:07:02 »
Nechcem nikoho kritizovat, ale info v tomto vlakne je uplne mimo.

a) najdolezitejsie je pouzit enterprise level SSD a je v zasade jedno ci SLC alebo MLC,

b) je potrebne zvazit data motion (toto sa da vo vela pripadoch aj prepocitat pomerne presne),

c) dimenzovat kapacitu SSD nie "akurat" ale aspon "krat tri - styri",

d) pri SSD na databazach je dolezity jitter response time pri zatazi pod viacerymi vlaknami / procesmi, v pripade ak lieta latencia, vykon DB prakticky nestupne,

e) dolezite je nastavenie DB ako takej tak, aby sa toho co mozno najviac vykonavalo v operacnej pamati. A samozrejme optimalizovat veci typu Query cache, pozriet sa obcas do slow query logu, navysit limity na otvorene handles + max open tables ci ako sa to vola atd atd. je to celkom veda + nezabudnut vyhodnocovat az "po nejakej dobe" tzv. warm up time.


Pre zvedavcov, skuste dat do googlu MySQL & SSD Intel 520 benchmark.

AK zvazujete kupu, minuly rok v 4Q Intel uvolnil SSD DC 3700 (100 - 800 GB verzie). Cenovo su pomerne dostupne, je to MLC s "konstantnou" latenciou. Mam odskusane zatial iba 2 mesiace nad MySQL. Bezi vyrazne kludnejsie ako consumer 520tky (tie vazcsie, 180GB verzie - ono su totiz ine nez tie male).

+ pozrite si MySQL Performance blog. TI chalpci napisali knihu, zivia sa konzultaciami a po dvoch rokoch som sa od nich aspon nieco naucil :) aj ked uprimne, su fakt dobri...

tadeas

Re:Provoz databáze na SSD
« Odpověď #13 kdy: 25. 03. 2013, 11:18:07 »
Abychom se posunuli vpřed, potřebujeme sehnat někoho kdo v reálném provozu provozuje průměrnou DB na SSD tak dva roky a myslí se prostá náhrada SSD za HDD, žádné enterprise cacheování vybraných dat na SSD.
Tady :) . Všechny mastery jsou celé na SSD a funguje to dobře a rychle :) . Největší problém je master-slave replikace na slave bez SSD, jinak master-master kde je obojí na SSD taky funguje jak má. Jedná se o Perconu, cca 100 tabulek jak InnoDB tak MyISAM (ty velké vesměs spíš InnoDB) a cca 60 GB dat.

dbart

Re:Provoz databáze na SSD
« Odpověď #14 kdy: 25. 03. 2013, 14:21:39 »