Maison  >  Article  >  base de données  >  méthode d'optimisation des performances Redis

méthode d'optimisation des performances Redis

尚
avant
2020-05-15 09:20:563413parcourir

méthode d'optimisation des performances Redis

1. Suggestions d'optimisation de la structure de déploiement Redis

1. Le maître ne fait pas la persistance AOF ou RDB, mais l'esclave fait la persistance AOF. Il est recommandé de faire la persistance RDB en même temps

2. Tous les Maîtres augmentent l'Esclave

3. Le maître ne peut pas monter plus de 2 esclaves, en utilisant la méthode M-S-S. Si vous souhaitez garantir une haute disponibilité, c'est-à-dire une commutation maître-esclave, vous pouvez utiliser le mécanisme Keepalived

Remarque : les suggestions ci-dessus sont basées sur la structure de déploiement déraisonnable de Redis. solutions dans l'architecture Sina Weibo et Taobao. Give

2. Suggestions d'optimisation de la configuration Redis

1.tcp-keepalive 60

Empêcher la déconnexion de la connexion en raison de l'exécution d'une commande. prendre trop de temps pour atteindre le délai d'attente. Et peut améliorer la détection des erreurs de connexion.

2.stop-writes-on-bgsave-error no

Arrêter d'écrire des données sur le disque en cas d'erreur. se produit dans l'opération d'instantané bgsave, de sorte que toutes les opérations d'écriture ultérieures échoueront. Afin de ne pas affecter les opérations d'écriture ultérieures, la valeur doit être modifiée en no.

3.rdbchecksum no

. pour vérifier l'exactitude des données RDB, cela sacrifiera 10 % des performances, il est donc recommandé de fermer.

4.auto-aof-rotate-max-size 20gb

auto-aof-rotate-max-total 4
auto-aof-rewrite-percentage 0 (关闭rewrite模式)

Modifier la réécriture AOF du mode rotation, c'est-à-dire passer de la fonction de réécriture en temps réel en ligne AOF au fonctionnement hors ligne, un fichier AOF est coupé en plusieurs copies (similaire à la coupe de journal), ce qui améliore les performances de Redis et améliore l'utilisation de la mémoire

5.no-appendfsync-on-rewrite yes

Évitez le blocage des E/S lors du vidage des données nouvellement modifiées sur le disque

Remarque : les suggestions d'optimisation ci-dessus sont basées sur une configuration Redis déraisonnable

3. Suggestions d'optimisation de la configuration du noyau système

1. Le mode AOF est activé afin d'atténuer le blocage des E/S

edit/etc/sysctl.conf et ajoutez la configuration suivante :

vm.dirty_background_ratio = 5
vm.dirty_ratio = 10
Ensuite, sysctl -p fait prendre effet au fichier de configuration.

2. Mode RDB activé, afin d'éviter l'échec de Fork

Modifiez /etc/sysctl.conf, modifiez vm.overcommit_memory=1. ,

puis sysctl -p pour que le fichier de configuration prenne effet

Remarques : ce qui précède sont les suggestions d'optimisation du noyau système basées sur les résultats des tests

Plan de suivi :

Ce qui précède sont les suggestions d'optimisation du point de vue architectural. À l'avenir, nous analyserons si le type de mémoire est raisonnable et froid du point de vue commercial, si la division des données chaudes est raisonnable, etc. 🎜>

Remarques :

Concernant la division des données chaudes et froides, vous pouvez utiliser la commande Redis suivante pour l'analyse statistique :

OBJECT REFCOUNT Cette commande est principalement utilisée pour le débogage (debugging ), elle peut renvoyer le nombre de fois que la valeur correspondant à la clé spécifiée est référencée.

ENCODAGE D'OBJET Cette commande renvoie la représentation interne utilisée par la valeur correspondant à la clé spécifiée (Note du traducteur : elle peut également être compris comme méthode de compression des données).

OBJECT IDLETIME Cette commande renvoie le temps d'inactivité depuis que la valeur correspondant à la clé spécifiée est stockée, en secondes (aucune demande d'opérations de lecture ou d'écriture). Cette valeur renvoie le temps en). 10 secondes. Temps de deuxième niveau, cela pourrait être amélioré dans les implémentations futures.

Pour plus de connaissances sur Redis, veuillez faire attention à la colonne

Tutoriel d'introduction à Redis

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer