Maison > Article > base de données > 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!