2014-05-17 6 views
0

Je cherche des informations ou des directives générales sur le moment où d'autres serveurs Cassandra devraient être ajoutés à un anneau. Cela devrait-il être basé sur l'utilisation du disque ou d'autres facteurs de surveillance?Quand ajouter d'autres nœuds à Cassandra Ring - DSE 4

Actuellement, j'ai quelques inquiétudes à propos de CoordinatorReadLatency, ReadLatency, et DroppedMessages.REQUEST_RESPONSE, mais encore une fois je ne peux pas trouver un bon guide sur la façon d'interpréter les différents composants que je surveille. Je peux trouver de bons guides sur l'optimisation des performances, mais des informations limitées sur les développeurs.

Je comprends que cette question peut être plus pertinente à Server Fault, mais ils n'ont pas de balises pour Datastax Enterprise.

Merci à l'avance


Prochaines étapes basées sur la réponse de @bcoverston

Nodetool donne accès à lire et à écrire des paramètres de latence: nodetool cfhistrograms

Voir docs ici: http://www.datastax.com/documentation/cassandra/2.0/cassandra/tools/toolsCFhisto.html?scroll=toolsCFhisto#

Puisque nous voulons lier cela en jolis graphes, le code source de nodetool nous dirige vers les bonnes valeurs jmx

https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/tools/NodeTool.java#L82

Chaque cf écrire et lire les paramètres de latence.

Répondre

1

La question est un peu ouverte, et cela dépend de votre cas d'utilisation. Il y a beaucoup de choses à surveiller, et il peut être fastidieux d'examiner tous les paramètres possibles et de décider si vous devez augmenter la taille de votre cluster.

Le conseil général ici est que vous devriez surveiller votre latence de lecture et d'écriture, décider où vos seuils devraient être, et planifier votre capacité en conséquence. Parce qu'il n'y a pas de matériel proscriptif pour exécuter Cassandra, et votre cas d'utilisation peut être unique à ce que vous faites, il n'y a que des règles empiriques.

Le dimensionnement de votre cluster basé sur des données/un nœud peut être utile, mais uniquement si je connais la taille de votre jeu de travail et les objectifs de latence. En outre, la vitesse de vos supports de stockage est également importante. Dimensionner votre cluster en fonction de la latence est plus logique. Si vous devez faire N tx/seconde, vous pouvez tester votre matériel en fonction de votre charge de travail et voir s'il peut atteindre vos objectifs. Gardez à l'esprit que lorsque vous faites cela, vous voulez faire un test à long terme pour voir si ces cibles tiennent de manière soutenue, et aussi combien de temps il faudra jusqu'à ce que les performances sous cette charge quand et si elle va se dégrader (un écrire une charge de travail lourde va se dégrader avec le temps, et vous voudrez ajouter de la capacité avant de commencer à manquer vos cibles).

+0

Merci pour vos commentaires, quelle est la pratique recommandée pour surveiller la latence d'écriture et de lecture? J'ai probablement les données de surveillance, mais je regarde un tas de données. – chrislovecnm

+0

Il y a un bon article sur le site Web de datastax ici [1] En particulier il ya des liens sur le fond de cet article qui couvrent les mbeans spécifiques que vous pouvez surveiller pour la latence moyenne. [1] http://www.datastax.com/documentation/cassandra/2.0/cassandra/operations/ops_monitoring_c.html – bcoverston

Questions connexes