Redis 성능 테스트
권장 사항: redis 튜토리얼
구문:
redis-benchmark [option] [option value]
예
예제 1
다음 예는 동시에 성능 감지:
$ redis-benchmark -n 1000 -q
ps: 로컬 docker는 현재 명령을 지원하지 않습니다. 결과를 건너뛰었습니다. 직접 테스트해 보세요.
redis:6379> benchmark -n 1000 -q (error) ERR unknown command 'benchmark'
예제 2
호스트는 127.0.0.1, 포트번호는 6379, 실행된 명령은 set, lpush, 요청 개수는 1000개입니다. -q 매개 변수를 사용하면 결과에 요청 개수만 표시할 수 있습니다. 초당 실행됩니다.
$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 1000 -q
성능 테스트 매개변수
일련번호 | 옵션 | Description | 기본값 |
---|---|---|---|
1 | -h | 서버 호스트 이름 지정 | 127.0.0.1 |
2 | -p | 지정 서버 포트 | 6379 |
3 | -s | 서버 지정 | socket |
4 | -c | 동시 연결 수 지정 | 50 |
5 | -n | 지정된 요청 수 | 10000 |
6 | -d | SET/GET 값의 데이터 크기를 바이트 단위로 지정 | 2 |
7 | -k | 1= 살려두다 0=재연결 | 1 |
8 | -r | SET/GET/INCR은 임의의 키를 사용하고, SADD는 임의의 값을 사용합니다. | |
9 | -P | 파이프라인을 통해 요청 전송 | 1 |
10 | -q | redis를 강제 종료합니다. 쿼리/초 값만 표시 | |
11 | –csv | CSV 형식으로 출력 | |
12 | -l | 루프를 생성하여 테스트를 영구적으로 실행 | |
13 | -t | 쉼표로 구분된 테스트 명령 목록만 실행하세요. | |
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
위 내용은 Redis 성능 테스트 및 클라이언트 연결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!