J'ai un système en cours d'exécution avec une faible utilisation d'E / S:
- HP DL380G7 (24 Go de RAM)
- Smart Array p410i avec 512 Mo de cache d'écriture soutenu par Battary
- 6 disques SAS 10 000 tr / min de 146 Go en RAID 10
- Debian Squeze linux, ext4 + LVM, hpacucli installé
iostat (cciss / c0d1 = baie raid10, dm-7 = partition lvm 60G pour le test):
Périphérique: rrqm / s wrqm / sr / sw / s rMB / s wMB / s avgrq-sz avgqu-sz attendent svctm% util cciss / c0d0 0,00 101,20 0,00 6,20 0,00 0,42 138,58 0,00 0,00 0,00 0,00 cciss / c0d1 0,00 395,20 3,20 130,20 0,18 2,05 34,29 0,04 0,26 0,16 2,08 dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-2 0,00 0,00 3,20 391,00 0,18 1,53 8,87 0,04 0,11 0,05 1,84 dm-3 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-4 0,00 0,00 0,00 106,80 0,00 0,42 8,00 0,00 0,00 0,00 0,00 dm-5 0,00 0,00 0,00 0,60 0,00 0,00 8,00 0,00 0,00 0,00 0,00 dm-6 0,00 0,00 0,00 2,80 0,00 0,01 8,00 0,00 0,00 0,00 0,00 dm-1 0,00 0,00 0,00 132,00 0,00 0,52 8,00 0,00 0,02 0,01 0,16 dm-7 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-8 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
hpacucli "ctrl all show config"
Smart Array P410i dans l'emplacement 0 (intégré) (sn: 5001438011FF14E0) baie A (SAS, espace inutilisé: 0 Mo) lecteur logique 1 (136,7 Go, RAID 1, OK) lecteur physique 1I: 1: 1 (port 1I: boîtier 1: baie 1, SAS, 146 Go, OK) lecteur physique 1I: 1: 2 (port 1I: boîtier 1: baie 2, SAS, 146 Go, OK) baie B (SAS, espace inutilisé: 0 Mo) lecteur logique 2 (410,1 Go, RAID 1 + 0, OK) lecteur physique 1I: 1: 3 (port 1I: boîtier 1: baie 3, SAS, 146 Go, OK) lecteur physique 1I: 1: 4 (port 1I: boîtier 1: baie 4, SAS, 146 Go, OK) lecteur physique 2I: 1: 5 (port 2I: boîtier 1: baie 5, SAS, 146 Go, OK) lecteur physique 2I: 1: 6 (port 2I: boîtier 1: baie 6, SAS, 146 Go, OK) lecteur physique 2I: 1: 7 (port 2I: boîtier 1: baie 7, SAS, 146 Go, OK) lecteur physique 2I: 1: 8 (port 2I: boîtier 1: baie 8, SAS, 146 Go, OK) SEP (ID fournisseur PMCSIERA, modèle SRC 8x6G) 250 (WWID: 5001438011FF14EF)
hpacucli "ctrl all show status"
Smart Array P410i dans l'emplacement 0 (intégré) État du contrôleur: OK État du cache: OK État de la batterie / du condensateur: OK
Commande Sysbench
sysbench --init-rng = on --test = fileio --num-threads = 16 --file-num = 128 --file-block-size = 4K --file-total-size = 54G --file-test -mode = rndrd --file-fsync-freq = 0 --file-fsync-end = off run --max-requests = 30000
Résultats Sysbench
sysbench 0.4.12: benchmark d'évaluation de système multi-thread Exécution du test avec les options suivantes: Nombre de fils: 16 Initialisation du générateur de nombres aléatoires à partir de la minuterie. Indicateurs d'ouverture de fichier supplémentaire: 0 128 fichiers, 432 Mo chacun Taille totale du fichier: 54 Go Taille de bloc 4Kb Nombre de demandes aléatoires d'E / S aléatoires: 30000 Rapport lecture / écriture pour le test IO aléatoire combiné: 1,50 Utilisation du mode d'E / S synchrone Faire un test de lecture aléatoire Les discussions ont commencé! Terminé. Opérations effectuées: 30000 lecture, 0 écriture, 0 autre = 30000 total Lecture 117.19Mb Écrit 0b Total transféré 117.19Mb (935.71Kb / sec) 233.93 Demandes / s exécutées Résumé de l'exécution du test: temps total: 128.2455s nombre total d'événements: 30000 temps total pris par l'exécution de l'événement: 2051.5525 statistiques par demande: min: 0,00 ms moyenne: 68.39ms max: 2010.15ms environ. 95 centile: 660,40 ms Équité des fils: événements (avg / stddev): 1875.0000 / 111.75 temps d'exécution (avg / stddev): 128.2220 / 0.02
iostat pendant le test
avg-cpu:% user% nice% system% iowait% steal% idle 0,00 0,01 0,10 31,03 0,00 68,86 Périphérique: rrqm / s wrqm / sr / sw / s rMB / s wMB / s avgrq-sz avgqu-sz attendent svctm% util cciss / c0d0 0,00 0,10 0,00 0,60 0,00 0,00 9,33 0,00 0,00 0,00 0,00 cciss / c0d1 0,00 46,30 208,50 1,30 0,82 0,10 8,99 29,03 119,75 4,77 100,00 dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-2 0,00 0,00 0,00 51,60 0,00 0,20 8,00 49,72 877,26 19,38 100,00 dm-3 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-4 0,00 0,00 0,00 0,70 0,00 0,00 8,00 0,00 0,00 0,00 0,00 dm-5 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-6 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,00 0,00 0,00 100,00 dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,00 0,00 0,00 100,00 dm-7 0,00 0,00 208,50 0,00 0,82 0,00 8,04 25,00 75,29 4,80 100,00 dm-8 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
Bonnie ++ v1.96
cmd: / usr / sbin / bonnie ++ -c 16 -n 0 Écriture d'un octet à la fois ... terminé Écrire intelligemment ... fait Réécriture ... terminée Lire un octet à la fois ... terminé Lire intelligemment ... fait commencez-les ... terminés ... terminés ... terminés ... terminés ... terminés ... Version 1.96 ------ Sortie séquentielle ------ - Entrée séquentielle - - Aléatoire - Concurrence 16 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Taille de la machine K / s% CP K / s% CP K / s% CP K / s% CP K / s% CP / s% CP seo-db 48304M 819 99 188274 17 98395 8 2652 78 201280 8265,2 1 Latence 14899us 726ms 15194ms 100ms 122ms 665ms 1.96,1.96, seo-db, 16,1337541936,48304M ,, 819,99,188274,17,98395,8,2652,78,201280,8,265.2,1 ,,,,,,,,,,,,,, ,,,, 14899us, 726ms, 15194ms, 100ms, 122ms, 665ms ,,,,,,
Des questions
Ainsi, sysbench a montré 234 lectures aléatoires par seconde.
Je m'attends à ce qu'il soit au moins 400.
Quel peut être le goulot d'étranglement? LVM?
Un autre système avec mdadm raid1 + 2x disques 7200rpm affiche plus de 200 lectures aléatoires par seconde ...
Merci pour toute aide!
debian
lvm
hp
performance
hp-smart-array
Oleg Golovanov
la source
la source
sysbench
ligne de commande particulière ? Simulez-vous un scénario d'utilisation réel?Réponses:
Votre système est nettement sous-performant en fonction de vos spécifications matérielles. J'ai chargé l'
sysbench
utilitaire sur quelques serveurs HP ProLiant DL380 G6 / G7 inactifs exécutant CentOS 5/6 pour vérifier leurs performances. Ce sont des partitions fixes normales au lieu de LVM. (Je n'utilise généralement pas LVM, en raison de la flexibilité offerte par les contrôleurs HP Smart Array)Le DL380 G6 dispose d'une matrice RAID 1 + 0 à 6 disques sur un contrôleur Smart Array P410 avec 512 Mo de cache avec batterie. Le DL380 G7 dispose d'une baie SSD SLC d'entreprise à 2 disques. Les systèmes de fichiers sont XFS . J'ai utilisé la même ligne de commande sysbench que vous:
Mes résultats ont été de 1595 lectures aléatoires par seconde sur 6 disques.
Sur SSD, le résultat était 39047 lectures aléatoires par seconde . Les résultats complets sont à la fin de ce post ...
Quant à votre configuration, la première chose qui me saute aux yeux est la taille de votre partition de test. Vous remplissez presque la partition de 60 Go avec 54 Go de fichiers de test. Je ne sais pas si ext4 a un problème de performance à 90 +%, mais c'est la chose la plus rapide à modifier et à retester. (ou utilisez un plus petit ensemble de données de test)
Même avec LVM, certaines options de réglage sont disponibles sur cette configuration de contrôleur / disque. Il est utile de vérifier la lecture anticipée et de modifier le paramètre du planificateur d'E / S du cfq par défaut en date limite ou noop . Veuillez consulter la question et les réponses sur: Linux - réglage du contrôleur RAID matériel réel (scsi et cciss)
Quel est le taux de cache de votre contrôleur RAID? J'utilise généralement un solde d'écriture / lecture de 75% / 25%. Cela devrait être un test rapide. La baie de 6 disques s'est terminée en 18 secondes. Le vôtre a pris plus de 2 minutes.
Pouvez-vous exécuter un test bonnie ++ ou iozone sur la partition / baie en question? Il serait utile de voir s'il existe d'autres goulots d'étranglement sur le système. Je ne connaissais pas sysbench , mais je pense que ces autres outils vous donneront un meilleur aperçu des capacités du système.
Les options de montage du système de fichiers peuvent faire une petite différence, mais je pense que le problème pourrait être plus profond que cela ...
sortie hpacucli ...
sysbench DL380 G6 résultats 6 disques ...
sysbench DL380 G7 SSD résultats ...
la source
bonnie++
ligne de commande?deadline
aussi ... Sous les charges de base de données, il peut fonctionner mieux quenoop
, et il y a quelques réglages supplémentaires dans votre/sys/block/cciss1/queue/iosched/
si vous utilisezdeadline
. Voir cet article pour plus de détails sur un réglage plus fin. J'ai pu obtenir ce test jusqu'à 2600 lectures aléatoires / seconde en le faisant.