Home  >  Article  >  Database  >  redis performance test and client connection

redis performance test and client connection

尚
forward
2020-03-14 09:39:212221browse

redis performance test and client connection

Redis performance test

Recommended: redis tutorial

Syntax:

redis-benchmark [option] [option value]

Example

Example 1

The following example executes 1000 requests at the same time to test performance:

$   redis-benchmark -n 1000  -q

ps: Local docker does not support the command temporarily. The result is skipped, please test by yourself.

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

Example 2

The host is 127.0.0.1, the port number is 6379, the executed commands are set, lpush, the number of requests is 1000, and the -q parameter is used to allow the results to only display execution per second number of requests.

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

Performance test parameters

##9-P to pipe the request110-qForce to exit redis. Display only query/sec values11–csvOutput in CSV format12-lGenerate a loop and execute the test forever13-tRun only a comma-separated list of test commands.
Serial number Option Description Default value
1 -h Specify the server host name 127.0.0.1
2 -p Specify server port 6379
3 -s Specify server socket
4 -c Specify the number of concurrent connections 50
5 -n Specify the number of requests 10000
6 -d Specify the data size of the SET/GET value in bytes 2
7 -k 1=keep alive 0=reconnect 1
8 -r SET/GET/INCR Use random key , SADD uses a random value



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 关闭客户端连接

相关推荐:

mysql视频教程:https://www.php.cn/course/list/51.html

The above is the detailed content of redis performance test and client connection. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete