Maison >base de données >Redis >Explication détaillée des tests de performances Redis et de la connexion client

Explication détaillée des tests de performances Redis et de la connexion client

尚
avant
2019-11-28 16:36:161928parcourir

Explication détaillée des tests de performances Redis et de la connexion client

Test de performances Redis (recommandé : Tutoriel d'introduction à Redis)

Syntaxe

redis-benchmark [option] [option value]

Exemple

Exemple 1

L'exemple suivant exécute 1000 requêtes en même temps pour tester les performances :

$   redis-benchmark -n 1000  -q

ps : La commande docker locale n'est actuellement pas prise en charge. Le résultat est ignoré, veuillez tester par vous-même.

redis:6379> benchmark -n 1000 -q
(error) ERR unknown command 'benchmark'

Exemple 2

L'hôte est 127.0.0.1, le numéro de port est 6379, les commandes exécutées sont définies, lpush, le nombre de requêtes est 1000 et le paramètre -q est utilisé pour permettre aux résultats d'afficher uniquement le nombre d'exécutions par seconde de requêtes.

$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 1000 -q

Paramètres des tests de performances

Numéro de série Option Description Valeur par défaut
1 -h Spécifiez le nom d'hôte du serveur 127.0.0.1
2 -p Spécifiez le port du serveur 6379
3 -s Spécifiez le serveur socket
4 -c Spécifiez le nombre de connexions simultanées 50
5 -n Précisez le nombre de demandes 10000
6 -d Spécifiez la taille des données de la valeur SET/GET en octets 2
7 -k 1=garder en vie 0=reconnecter 1
8 -r SET /GET/INCR utilise une clé aléatoire, SADD utilise une valeur aléatoire
9 -P pour transmettre la demande via pipeline 1
10 -q Forcer la fermeture de redis. Afficher uniquement les valeurs de requête/s
11 –csv Sortie au format CSV
12 -l Générer une boucle et exécuter le test en permanence
13 -t Exécutez uniquement une liste de commandes de test séparées par des virgules.
14 -I Idle 模式。仅打开 N 个 idle 连接并等待。

Redis 客户端连接

Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作:

首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型。

然后为这个 socket 设置 TCP_NODELAY 属性,禁用 Nagle 算法

然后创建一个可读的文件事件用于监听这个客户端 socket 的数据发送

最大连接数

redis:6379> config get maxclients
1) "maxclients"
2) "10000"

实例

启动时设置最大连接数为 999

redis-server --maxclients 999

客户端命令

S.N. 命令 描述
1 CLIENT LIST 返回连接到 redis 服务的客户端列表
2 CLIENT SETNAME 设置当前连接的名称
3 CLIENT GETNAME 获取通过 CLIENT SETNAME 命令设置的服务名称
4 CLIENT PAUSE 挂起客户端连接,指定挂起的时间以毫秒计
5 CLIENT KILL 关闭客户端连接

推荐: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