Exécution des utilitaires de diagnostic Data Repository

Vertica offre plusieurs utilitaires qui permettent de tester les performances de votre matériel au niveau du Data Repository. Pour vérifier que l'environnement est adapté à la base de données, exécutez les tests suivants avant de mettre à niveau le Data Repository.
capm360
Vertica offre plusieurs utilitaires qui permettent de tester les performances de votre matériel au niveau du Data Repository. Pour vérifier que l'environnement est adapté à la base de données, exécutez les tests suivants avant de mettre à niveau le Data Repository.
3
3
Si vous avez déjà installé le Data Repository, vous pouvez effectuer ces tests à tout moment afin de vérifier les performances. Les utilitaires sont disponibles sur chaque noeud sous
/opt/vertica/bin
.
Si les résultats des tests ne correspondent pas aux recommandations, résolvez les problèmes avant de poursuivre la mise à niveau.
vcpuperf
Cet utilitaire mesure la vitesse de traitement de l'UC de l'hôte et la compare aux valeurs de référence des UC de serveur commun. L'utilitaire mesure la durée dont le serveur a besoin pour effectuer le test et détermine si la limitation d'UC est activée.
Procédez comme suit :
  1. Exécutez la commande suivante sur
    chaque
    noeud Data Repository :
    ./vcpuperf > /tmp/vcpuperf.out
  2. Vérifiez que les performances respectent les conditions suivantes :
    • Le temps d'UC est cohérent avec les valeurs de référence dans la sortie.
    • La différence entre la durée de chargement faible et la durée de chargement élevée doit être inférieure à 10 microsecondes. Lorsque la différence entre ces deux valeurs est supérieure à 50 microsecondes, vous pouvez activer la limitation d'UC sur votre système. Or, cette fonction ne doit pas être activée.
Exemple :
L'exemple ci-dessous illustre les données renvoyées par cet utilitaire :
$ /opt/vertica/bin/vcpuperf
Compiled with: 4.1.2 20080704 (Red Hat 4.1.2-52)
Expected time on Core 2, 2.53GHz: ~9.5s
Expected time on Nehalem, 2.67GHz: ~9.0s
Expected time on Xeon 5670, 2.93GHz: ~8.0s
This machine's time:
CPU Time: 7.740000s
Real Time:7.740000s
Some machines automatically throttle the CPU to save power.
This test can be done in <100 microseconds (60-70 on Xeon 5670, 2.93GHz).
Low load times much larger than 100-200us or much larger than the corresponding high load time
indicate low-load throttling, which can adversely affect small query / concurrent performance.
This machine's high load time: 67 microseconds.
This machine's low load time: 64 microseconds.
Ce test a été effectué sur un système équipé de processeurs 2.67 GHz, c'est pourquoi les données en temps réel sont acceptables. La différence entre la durée de chargement élevée et la durée de chargement faible est comprise dans la marge attendue.
Pour plus d'informations sur cet utilitaire, reportez-vous à la documentation de Vertica.
vioperf
Cet utilitaire teste les performances de l'entrée et de la sortie (E/S) de disque. Il effectue toute une série d'opération de lecture et d'écriture.
Pour mesurer la vitesse de lecture/écriture lorsque vous utilisez le même SAN/NAS pour le disque ou le disque de machine virtuelle, vous devez exécuter vioperf sur tous les noeuds du cluster en même temps pour le répertoire de données ou de catalogues.
Procédez comme suit :
  1. Exécutez les commandes suivantes sur chaque
    noeud
    Data Repository :
    ./vioperf /
    data
    > /tmp/vioperf.out --duration=60sec
    /data
    est le chemin d'accès complet au répertoire de données.
    ./vioperf /
    catalog
    > /tmp/vioperf.out --duration=60sec
    /catalog
    est le chemin d'accès complet du répertoire de catalogue.
  2. Vérifiez que le compteur d'écritures et de lectures indique une valeur égale ou supérieure à 40 Mo/s par coeur.
    La valeur d'E/S recommandée est de 40 Mo/s par coeur physique sur chaque noeud. Par exemple, le taux d'E/S recommandé pour un noeud doté de 2 UC de six noyaux multithreads (12 noyaux physiques) est 480 Mo/s.
    Si la colonne
    thread count
    (Nombre de threads) indique la valeur 1, cela signifie que l'utilitaire ne peut pas déterminer le nombre de noyaux. Ajoutez l'argument suivant à la commande pour exécuter l'utilitaire :
    --thread-count=
    CORES
    Cores
    définit le nombre de noyaux dans le système en tant qu'un entier fixe.
Exemple :
L'exemple ci-dessous illustre les données renvoyées par cet utilitaire pour le répertoire de données :
The minimum required I/O is 20 MB/s read and write per physical processor core on each node, in full duplex i.e. reading and writing at this rate simultaneously, concurrently on all nodes of the cluster. The recommended I/O is 40 MB/s per physical core on each node. For example, the I/O rate for a server node with 2 hyper-threaded six-core CPUs is 240 MB/s required minimum, 480 MB/s recommended.
Using direct io (buffer size=1048576, alignment=512) for directory "/drdata"
test | directory | counter name | counter value | counter value (10 sec avg) | counter value/core | counter value/core (10 sec avg) |
thread count
| %CPU | %IO Wait | elapsed time (s)| remaining time (s)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Write
| /drdata | MB/s | 873 | 873 |
54.5625
| 54.5625 | 16 | 29 | 40 | 10 | 5
Write
| /drdata | MB/s | 868 | 865 |
54.25
| 54.0625 | 16 | 28 | 30 | 15 | 0
ReWrite | /drdata | (MB-read+MB-write)/s| 275+275 | 275+275 | 17.1875+17.1875 | 17.1875+17.1875 | 16 | 13 | 21 | 10 | 5
ReWrite | /drdata | (MB-read+MB-write)/s| 242+242 | 178+178 | 15.125+15.125 | 11.125+11.125 | 16 | 7 | 17 | 15 | 0
Read
| /drdata | MB/s | 735 | 735 |
45.9375
| 45.9375 | 16 | 11 | 23 | 10 | 5
Read
| /drdata | MB/s | 786 | 786 |
49.125
| 49.125 | 16 | 26 | 25 | 15 | 0
SkipRead | /drdata | seeks/s | 4511 | 4511 | 281.938 | 281.938 | 16 | 14 | 19 | 10 | 5
SkipRead | /drdata | seeks/s | 4477 | 4407 | 279.812 | 275.438 | 16 | 3 | 15 | 15 | 0
Ce serveur inclut 16 coeurs. Les valeurs de compteur de lectures/écritures indiquent que la valeur d'E/S est supérieure à 40 Mo/s par coeur.
Pour plus d'informations sur cet utilitaire, reportez-vous à la documentation de Vertica.
vnetperf
Cet utilitaire permet de tester les performances réseau des hôtes Data Repository. Il mesure la latence réseau et le débit pour les protocoles TCP et UDP.
Cet utilitaire entraîne une charge réseau élevée et réduit les performances de la base de données. Veillez à ne pas l'exécuter lorsque la base de données est en cours d'exécution.
Procédez comme suit :
  1. Connectez-vous en tant qu'utilisateur disposant d'une connexion ssh mot de passe entre les noeuds.
  2. Exécutez la commande suivante sur l'
    un
    des noeuds Data Repository :
    ./vnetperf --hosts
    DAhost
    ,
    DRhost1
    ,
    DRhost2
    ,
    DRhost3
    > /tmp/vnetperf.out
    Spécifiez le nom ou l'adresse IP de l'hôte Data Aggregator et de chaque hôte Data Repository.
  3. Vérifiez que les performances du réseau remplissent les conditions suivantes :
    • Latence de temps d'aller-retour égale ou inférieure à 200 microsecondes
    • Variation d'horloge inférieure à 1 seconde
    • Débit égal ou supérieur à 800 Mo/s
      L'utilitaire exécute plusieurs tests limités. Vérifiez le débit correspondant au test de calcul de la vitesse la plus élevée.
Pour plus d'informations sur cet utilitaire, reportez-vous à la documentation de Vertica.