À quel débit dois-je m'attendre avec MPIO?

12

Dell PowerEdge 2950 avec deux cartes réseau à 1 Gbit / s allant vers deux ports à 1 Gbit / s sur un commutateur qui passe ensuite à une NetApp avec quatre cartes réseau à 1 Gbit / s qui se présentent comme une seule interface virtuelle. 24 disques, 7200k SATA, NetApp RAID-DP. J'ai mappé chaque carte réseau hôte à NetApp à l'aide de MPIO dans l'initiateur Microsoft iSCSI. Tester avec SQLIO mon débit d'écriture semble raisonnable à environ 200 Mo, mais mes lectures sont plus proches de 100 Mo.

Mes lectures ne devraient-elles pas être plus proches de 200 Mo comme mes écritures? Est-ce un problème de configuration ou y a-t-il un problème de stockage fondamental que je ne comprends pas?

entrez la description de l'image ici

Mise à jour: voici les IOPS pour la charge de travail aléatoire. Les lectures ont du sens, cependant, je ne sais pas quoi faire de 20000 pour les écritures. Le cache SAN est de 3,2 Go. Les tests SQLIO portent sur un fichier de 25 Go.

entrez la description de l'image ici

Henry Lee
la source
3
Quel est votre cache sur le périphérique NetApp? Avez-vous un administrateur SAN qui peut extraire certaines mesures pour vous? Nous avons un NetApp et avons pu identifier quelques problèmes avec une combinaison de rapports et de journaux d'avertissement. En fin de compte, notre situation était une mauvaise carte fibre, mais le support NetApp a été très utile pour nous aider à résoudre la cause.
swasheck
2
Il peut être utile d'examiner la configuration de vos agrégats et volumes pour vous assurer que vos disques sont utilisés correctement (n'hésitez pas à publier votre configuration, mais je ne sais pas combien d'entre nous sont des experts NetApp). Il est normal que les écritures soient plus rapides que les lectures, car les écritures peuvent être mises en cache sur le filer avant d'être poussées sur le disque, mais les lectures doivent frapper le disque à moins qu'elles ne soient déjà dans le cache.
Nathan Jolly
2
@mrdenny D'où vient cette notion de "99% d'E / S dans des blocs de 64k"? Bob Dorr indique le contraire , tout comme Wes Brown . Même si nous devions ignorer ces deux articles complets, le bon sens dicte sûrement que vous allez voir 8K IO sur une plate-forme qui utilise une taille de page de 8K.
Mark Storey-Smith
2
La mine @mrdenny doit être cassée alors, dois-je appeler le support? Je suis assis ici à regarder l'activité d'E / S des fichiers de données avec le moniteur de processus et bien qu'il y ait la lecture attendue de 64 Ko en abondance, il y a beaucoup d'autres lectures multiples de 8 Ko et bien sûr beaucoup d'écriture de 8 Ko. L'activité du journal est conforme aux attentes, avec des multiples de 512 octets allant de la seule écriture de 512 octets à 60 Ko.
Mark Storey-Smith
2
@ MarkStorey-Smith D'après mon expérience, les lectures en 8k se produisent généralement en corrélation avec la fragmentation. Cela pourrait également indiquer une corbeille de mémoire, une faible durée de vie des pages en raison des analyses qui expulsent les pages (c'est-à-dire que la majeure partie de l'étendue est toujours en mémoire). Un système bien réglé devrait afficher 64 000 lectures. Les écritures dépendent bien sûr de ce qui est réellement sale.
Remus Rusanu

Réponses:

7

Les écritures sur disque vont en fait en mémoire (NVRAM) sur le filer, pour être vidées sur le disque plus tard - sur un filer inactif, elles seront incroyablement rapides, et des iops de 20000 sont tout à fait crédibles (vous verrez des vitesses similaires de la plupart des SSD) .

Les lectures, en revanche, doivent provenir du disque, sauf si elles se trouvent déjà dans le cache de lecture du fichier (qui, contrairement aux écritures, se trouvent sur une mémoire volatile).

Il est difficile d'épingler les fournisseurs de stockage sur les iops pour faire tourner les disques, mais pour un lecteur à 7200 tr / min, 80-120 iops est tout à fait crédible. Étant donné que vous avez probablement perdu quelques disques à cause du RAID-DP et / ou des pièces de rechange de NetApp, 2200 iops sont proches de ce que vous pourriez attendre de 22 disques exécutant environ 100 iops chacun.

Cela peut ne pas expliquer vos vitesses de lecture (vos disques peuvent ne pas faire les 2200 iops complets lorsque vous effectuez une lecture séquentielle), mais cela peut au moins aider à expliquer vos performances d'écriture.

Nathan Jolly
la source
Merci Nathan. Dois-je m'attendre à doubler le débit avec deux cartes réseau et MPIO?
Henry Lee
1
Êtes-vous en mesure de vérifier l'utilisation de votre filer pendant que vous exécutez vos tests de lecture séquentielle? S'il atteint 100%, votre goulot d'étranglement pour ceux-ci est susceptible d'être sur le filer (soit en raison de la configuration ou des limitations d'iops sur chaque disque) et les connexions MPIO / MPIO supplémentaires n'ajouteront rien. Votre débit d'écriture pourrait encore augmenter.
Nathan Jolly
5

Pour la postérité, après de nombreux essais et erreurs, nous avons trouvé comment obtenir le débit attendu.

Comme mentionné ci-dessus, NetApp avait une interface virtuelle soutenue par quatre NIC physiques. L'hôte a deux cartes réseau et j'avais configuré MPIO via l'initiateur MS iSCSI afin qu'il y ait un chemin de chaque carte réseau vers la seule interface virtuelle. Les résultats étaient le débit ci-dessus - les écritures avaient du sens à près de 200 Mo ou la vitesse de deux cartes réseau, mais les lectures étaient deux fois plus faibles ou la vitesse d'une carte réseau.

Après une inspection plus approfondie, notre gars SAN a remarqué que le trafic ne traversait que l'un des NIC physiques pour les lectures. Je ne sais pas s'il y a eu une erreur de configuration de notre côté, mais nous avons essayé deux choses et nous avons tous deux obtenu notre débit. L'une consistait à passer d'une interface virtuelle soutenue par quatre NIC à deux interfaces virtuelles, chacune soutenue par deux NIC. Mappez ensuite une carte d'interface réseau hôte à une interface virtuelle. L'autre chose que nous avons essayée était d'utiliser "l'aliasing" côté SAN pour présenter plusieurs interfaces virtuelles. (Je ne suis pas un type SAN, alors j'espère que j'ai bien dit cela.)

Je retiens que nous avions juste besoin du SAN pour présenter plus d'une interface, de sorte que l'initiateur a vraiment vu plusieurs chemins. Voici notre débit maintenant:

entrez la description de l'image ici

Henry Lee
la source
pourquoi les petites écritures sont-elles plus lentes maintenant?
Jack dit d'essayer topanswers.xyz le
Pas sûr, nous n'avons pas encore pu le comprendre. Je posterai si je le découvre.
Henry Lee