Speaker : Patrick O’keeffe – Software Architect, Dell Software & Richard Douglas – Sytems Consultant, Dell Software
Niveau de la session : 300
Agenda :
- Brief History of Magnetic Disk
- Solid State Disk Technology
- SSD Internals
- SQL server buffer pool flash cache architecture
- Performance comparisons
- Recommendations & Suggestions
Historique :
- Evolution du matériel et des performances (avec du recul l’évolution est impressionnante)
- Loi de Moore (encore lui !) mais pas dans les composants mécaniques (limites physiques)
- Evolution des tendances en I/O des disques de 2001 à 2009 (graphique)
- SSD to the rescue (seek time comparison graphique)
- Consommation électrique en watt (graphique)
- Coût SSD (graphique coût par IOP et GB) et historique des coûts (graphique de 2000 à aujourd’hui : le coût décroit par GB)
Recommendation : Consider a tiered storage approach
SSD technlology et SSD internals :
- Présentation des différents types de SSD (en terme de hiérarchie de stockage, écriture, endurance du support et performance)
- Flash SSD : le moins cher
- Comparaison PCIe vs SATA
- Il y a une dégradation des performances d’écriture qui est fonction du taux de remplissage du support : recommandation = être au plus à 25% du taux de remplissage sur les supports SSD pour conserver les performances correctes : pas économique L
- La session poursuit en décrivant le processus d’un data update sur SSD et du garbage collector
Présentation de l’architecture des buffer de cache spécifique à SQL 2014 :
- Extension de buffer : c’est na nouveauté propre aux support SSD
- On la configure dans SQL server 2014 via la clause ALTER SERVER CONFIGURATION (SET BUFFER POOL EXTENSION ONFILE NAME = …) : retour d’expérience : warm up lent (penser en heures !) sur la CTP1 de SQL 2014
- Pour le monitoring il existe une DMV et des compteurs de performance spécifiques (select * from sys.dm_os_buffer_pool_extension_configuration et select * from sys.dm_os_performance_counters where object_name like ‘%Buffer Manager%’ and counter_name like ‘%extension%’
(pour d’autres DMV c.f. le site de Microsoft et http://www.brentozar.com/archive/2013/06/new-dmvs-in-sql-server-2014-ctp1/)
Performance :
- Présentation des scénarios de test sur du SQL 2012… et des graphiques de résultats
- On reparle de la dégradation de la performance en écriture liée au garbage collector : moins le cas pour sql server et sur les disques SSD récents
- La session aborde aussi la présence de tri dans la temp_db sur du support ssd puis des logs (red/write) sur du flash SSD (attention : tester avec des workload différents)
- Présentation des scénarios de test sur du SQL 2014… et des graphiques de résultats
- Conclusion des tests sur 2014 : un peu tôt notamment pas vu d’amélioration sur l’écriture = ils testeront sur la CTP2 (par contre mettrez au moins les données les plus utilisées dans cette extension de buffer flash de 2014), risque de plomber le system disque d’I/O si on desactive l’extension de buffer ( ?!)
Recommandations :
- N’attendez pas (speaker de DELL ?) que les prix des supports SSD baissent : les disques ssd sont moins cher si on raisonne en IO et plus si on raisonne en GB
- Considérer une stratégie matérielle mixte (HD classique et SSD) : SSD là où il y a la plus forte contention sur les données
- Les SSD Flash fonctionnent bien : les utiliser en cas de lecture instance pour les données et pour la tempdb
- Les drive SAS sont 66 fois plus lents que les SSD pour du seek
- LES SSD (en PCIe) font 280 fois plus de IOPs
- Si vous voulez avoir les mêmes IOP sur du SAS que sur 1 SSD en PCIe
Conclusion :
Session abordable (pour les DBA et les préconisations de matériel) , c’est toujours bien d’apprendre qu’il faudra utiliser des clauses supplémentaire liées au support physique de stockage (c’est pas automatique).
Pour les best practices SQL sur du SSD (à priori) : peu d’infos en fin de compte.
Pascal Rouzé