2010-10-02 6 views
3

Je teste des disques SSD à utiliser avec MySQL et je ne vois aucun avantage en termes de performances. Cela me donne l'impression que je dois faire quelque chose de mal.Optimisation de la performance SSD MySql

Voici la configuration:

  • Xeon 5520 2,26 Ghz Quad Core
  • 12 Go Ram
  • 300GB 15K en RAID 1
  • 64GB SSD en RAID 1

Pour le test j'ai déplacé le répertoire mysql sur le SSD.

J'ai importé une table avec 3 millions de lignes. Puis importé la même table avec les répertoires de données et d'index liés au lecteur 15k.

Chargement des données dans les tables par une décharge de mysqldump les 15K ont montré un taux plus rapide d'insérer sur les disques SSD:

  • 15k ~ = 35.800 insertions/sec
  • SSD = 27.000 insertions/sec

Ensuite, je tester la vitesse SELECT en faisant « SELECT * FROM table INTO OUTFILE '/tmp/table.txt':

  • 15kk ~ = 3.000.000 lignes 4,19 secondes
  • SSD = ~ 3.000.000 lignes 4.21 secondes

Les CHOISIT étaient presque identiques et les écritures étaient effectivement plus lents sur le SSD qui ne semble pas juste du tout. Des pensées sur ce que je devrais regarder dans la prochaine?


Note supplémentaire: Je le SSD avec l'écoute des changements standards: noatime et Noob-programmateur

Répondre

1

Tout ce que vous devriez être tests dans des conditions simmillar. C'est à dire. Initialise les disques, redémarre, charge les données, exécute les sélections. Fermer. Et puis répétez. Si cela donne une meilleure indication, si l'un est meilleur ou pire que l'autre. Une fois que vous avez fait cela, vous pouvez alors vérifier si les tests imposent effectivement le disque 15 du tout. Si les deux tests ne vous stressent pas, je dirais que vous n'avez pas découvert les goulets d'étranglement qui nécessitent une mise à jour particulière comme celle-ci.

Une fois que vous avez, alors s'il vous plaît poster les résultats. Cela faciliterait l'analyse et le réglage.

13

Deux points:

  1. je ne vois rien d'étonnant à vos lecteurs de 15k écriture plus rapide que le SSD. La mémoire flash est une écriture lente. En interne, la mémoire flash NAND est orientée page (pages> secteurs). Donc, pour écrire un secteur, le SSD lit la page, remplace 512 octets, efface la page, et finalement écrit la page.

  2. Vos tests sont totalement séquentiels.Votre test d'écriture est un chargement via un vidage, et votre test de lecture est 'SELECT * ...'. La véritable force des disques SSD est leur vitesse de lecture aléatoire. Votre test ne force pas le 15k HD à chercher souvent, donc ce que vous testez vraiment, c'est juste la vitesse de l'interface.

+0

Regardez [ces diapositives] (http://www.slideshare.net/matsunobu/ssd-deployment-strategies-for-mysql) pour une bonne explication des écritures aléatoires contre séquentielles dans MySQL. Les meilleures performances sont les fichiers séquentiels sur les disques durs traditionnels et les fichiers aléatoires sur les disques SSD. –

1

J'utiliserais un meilleur outil pour exécuter les tests. Un de ces outils est FIO pour Linux qui peut simuler toutes sortes de scénarios IOPS en lecture/écriture pour vous. Je vous recommande de vérifier sur le contrôleur RAID et assurez-vous qu'il a des optimisations pour les disques SSD. L'ancien contrôleur RAID n'a jamais été conçu pour le SSD et, en général, fonctionne mal. Par exemple, avec les serveurs Dell, vous avez besoin d'un PERC 710H de génération jamais pour obtenir la vitesse maximale de vos SSD. Contrôleur RAID intelligent peut également épargner SSD pour la mise en cache en face de lecteurs mécaniques réguliers améliorant les performances globales de lecture/écriture.

J'ai récemment rédigé un article sur ce sujet que vous pourriez trouver utile. J'ai également inclus certains résultats de référence SSD vs disques mécaniques.

http://www.juhavehnia.com/2015/05/using-ssds-to-improve-mysql-performance.html

Bonne chance dans vos tests, Juha Vehnia