Sono assolutamente d'accordo sul fatto che il massimo per il dollaro derivi dall'aumentare le dimensioni di innodb_db_bufferpool, ma sfortunatamente dipende completamente dalla dimensione del set di dati e dalla frequenza con cui si accede a diversi blocchi di dischi. Mantengo diversi database che sono abbastanza grandi da 200 GB +, quindi inserire tutto nella RAM non è un'opzione e per questo motivo siamo recentemente passati allo storage basato su SSD. Ho fatto una ricerca abbastanza grande in termini di IOPS per l'utilizzo di MySQL su diversi array RAID a cui ho accesso. Ecco i risultati:
1.253 IOPS - 4 dischi SCSI 15k (3.5 ")
test: (g = 0): rw = randrw, bs = 4K-4K / 4K-4K / 4K-4K, ioengine = libaio, iodepth = 64 leggi: io = 3071.7MB, bw = 5012.8KB / s, iops = 1253 , runt = 627475msec scrivere: io = 1024,4 MB, bw = 1671,7 KB / s, iops = 417, runt = 627475msec cpu: usr = 0,63%, sys = 3,11%, ctx = 985926, majf = 0, minf = 22
2.558 IOPS - disco SAS (2.5 ") da 8 x 10K RPM 900GB
test: (g = 0): rw = randrw, bs = 4K-4K / 4K-4K / 4K-4K, ioengine = libaio, iodepth = 64 leggi: io = 3071.7MB, bw = 10236KB / s, iops = 2558, runt = 307293msec scrivere: io = 1024.4MB, bw = 3413.5KB / s, iops = 853, runt = 307293msec cpu: usr = 2.73%, sys = 8.72%, ctx = 904875, majf = 0, minf = 25
23.456 IOPS - Server SSD Rackspace Performance 2
test: (g = 0): rw = randrw, bs = 4K-4K / 4K-4K / 4K-4K, ioengine = libaio, iodepth = 64 leggi: io = 3071.7MB, bw = 93708KB / s, iops = 23426, runt = 33566msec scrivere: io = 1024,4 MB, bw = 31249 KB / s, iops = 7812, runt = 33566msec cpu: usr = 5,73%, sys = 35,83%, ctx = 181568, majf = 0, minf = 23
35.484 IOPS - 2 x EDGE con mirroring Boost 480 GB 2,5 "MLC ( http://www.edgememory.com )
test: (g = 0): rw = randrw, bs = 4K-4K / 4K-4K / 4K-4K, ioengine = libaio, iodepth = 64 leggi: io = 3068.4MB, bw = 141934KB / s, iops = 35483, runt = 22137msec scrivi: io = 1027,7 MB, bw = 47537 KB / s, iops = 11884, runt = 22137msec cpu: usr = 11,68%, sys = 69,89%, ctx = 24379, majf = 0, minf = 20
Quindi è chiaro che gli SSD di alta qualità di oggi sono artisti straordinari. Due SSD con mirroring possono facilmente superare l'enclosure di archiviazione SAN a 16 dischi e questa è una dichiarazione convincente da sola.
Se sei interessato ai dettagli completi, il resto della scrittura è disponibile sul mio blog:
http://www.juhavehnia.com/2015/05/using-ssds-to-improve-mysql-performance.html