select_info
SELECT info Redis
동영상 설명은 아래에 있습니다.
INFO 정보 조회
Info, cluster, client 정보를 select로 조회할 수 있습니다.
Enterprise version 7.2.5부터는 redis.conf에서 use-sql을 yes로 설정해야 사용할 수 있습니다.
INFO
- Server: 레디스 서버 정보(버전, 포트 등)
- Client: 클라이언트 통계 정보(현재 접속 클라이언트 수)
- Clients: 클라이언트 리스트 정보
- Memory: 사용 메모리 정보
- Persistence: AOF와 RDB 정보
- Aof: AOF 정보
- Rdb: RDB 정보
- Stats: 서버 통계 정보(총 접속수, 총 명령 처리수 등)
- Replication: 마스터/복제 정보
- Cpu: CPU 사용량 정보
- Commandstats: 레디스 명령 통계 정보
- Keyspace: 키 정보(키 개수)
LOG
CLUSTER
SERVER
Server 정보(버전, 포트, OS 등)를 조회합니다.
info server 명령과 거의 같은 정보를 조회합니다.
databases 항목이 추가되었습니다.
Example
명령> | select * from info.server; |
결과> |
0) key|value 1) arch_bits|64 2) atomicvar_api|atomic-builtin 3) config_file|/home/charlie/ent711/9261/redis.conf 4) configured_hz|10 5) databases|16 6) enterprise_version|7.1.1 7) executable|/home/charlie/ent711/src/redis-eserver 8) gcc_version|4.8.5 9) hz|10 10) multiplexing_api|epoll 11) os|Linux 3.10.0-957.5.1.el7.x86_64 x86_64 12) process_id|15548 13) redis_mode|enterprise 14) run_id|25a68eaadfae2ef2679fe36dc1f2ab0d6e26f69a 15) tcp_port|6000 |
CLIENT
Client 정보(현재 접속하고 있는 클라이언트 수)를 조회합니다.
info client 명령과 같은 정보를 조회합니다.
접속 가능 클라이언트 수(maxclients) 항목이 추가되었습니다.
Example
명령> | select * from info.client; |
결과> |
0) key|value 1) blocked_clients|0 2) client_recent_max_input_buffer|2 3) client_recent_max_output_buffer|0 4) connected_clients|1 5) maxclients|10000 |
CLIENTS
Client list 정보(클라이언트 ip:port, age, idle, last command 등)를 조회합니다.
Client list 명령과 거의 같은 정보를 조회합니다.
Example
명령> | select * from info.clients; |
결과> |
0) key|address|fd|name|age|idle|flags|dbnum|pubsub_cha|pubsub_pat|multi| querybuf_used|querybuf_avail|bufpos|reply|output_mem|events|last_command 1) 4|127.0.0.1:48090|10||434|0|N|0|0|0|-1|50|32718|0|0|0|r|select |
MEMORY
레디스 서버가 사용하고 있는 메모리 정보(used_memory, rss 등)를 조회합니다.
info memory 명령과 거의 같은 정보를 조회합니다.
Example
명령> | select * from info.memory; |
결과> |
0) key|value 1) active_defrag_running|0 2) allocator_active|385724416 3) allocator_allocated|383973304 4) allocator_frag_bytes|1751112 5) allocator_frag_ratio|1.0 6) allocator_resident|399560704 7) allocator_rss_bytes|13836288 8) allocator_rss_ratio|1.04 9) lazyfree_pending_objects|0 중간 생략 ... 40) used_memory_startup|1232592 |
PERSISTENCE
AOF(AOF 활성화 여부, 현재 AOF 파일 크기 등)와 RDB 정보를 조회합니다. 단축어: persist
info persistence 명령과 거의 같은 정보를 조회합니다.
Example
명령> | select * from info.persistence; |
결과> |
0) key|value 1) aof_base_size|118845413 2) aof_buffer_length|0 3) aof_current_rewrite_time_sec|-1 4) aof_current_size|118845480 5) aof_delayed_fsync|0 6) aof_enabled|1 7) aof_last_bgrewrite_status|ok 8) aof_last_cow_size|0 9) aof_last_rewrite_time_sec|-1 10) aof_last_write_status|ok 11) aof_pending_bio_fsync|0 12) aof_pending_rewrite|0 13) aof_rewrite_buffer_length|0 14) aof_rewrite_in_progress|0 15) aof_rewrite_scheduled|0 16) loading|0 17) rdb_bgsave_in_progress|0 18) rdb_changes_since_last_save|177 19) rdb_current_bgsave_time_sec|-1 20) rdb_last_bgsave_status|ok 21) rdb_last_bgsave_time_sec|-1 22) rdb_last_cow_size|0 23) rdb_last_save_time|1609908461 |
AOF
AOF 정보만 조회합니다.
추가로 appendonly, appendfsync, appendfilename, aof_use_rdb_preamble 항목을 조회할 수 있습니다.
Example
명령> | select * from info.aof; |
결과> |
0) key|value 1) aof_base_size|2304 2) aof_buffer_length|0 3) aof_current_rewrite_time_sec|-1 4) aof_current_size|2304 5) aof_delayed_fsync|0 6) aof_last_bgrewrite_status|ok 7) aof_last_cow_size|606208 8) aof_last_rewrite_time_sec|1 9) aof_last_write_status|ok 10) aof_pending_bio_fsync|0 11) aof_pending_rewrite|0 12) aof_rewrite_buffer_length|0 13) aof_rewrite_in_progress|0 14) aof_rewrite_scheduled|0 15) aof_use_rdb_preamble|yes 16) appendfilename|./data/appendonly.aof 17) appendfsync|everysec 18) appendonly|yes |
RDB
RDB 정보만 조회합니다.
추가로 save, rdb_filename, rdbcompression 항목을 조회할 수 있습니다.
Example
명령> | select * from info.rdb; |
결과> |
0) key|value 1) rdb_bgsave_in_progress|0 2) rdb_changes_since_last_save|0 3) rdb_current_bgsave_time_sec|-1 4) rdb_filename|./data/dump.rdb 5) rdb_last_bgsave_status|ok 6) rdb_last_bgsave_time_sec|-1 7) rdb_last_cow_size|0 8) rdb_last_save_time|1610092800 9) rdbcompression|yes 10) save|90 1,300 10,60 10000 |
STATS
서버 통계 정보(총 접속수, 총 명령 처리수 등)를 조회합니다.
info stats 명령과 거의 같은 정보를 조회합니다.
Example
명령> | select * from info.stats; |
결과> |
0) key|value 1) active_defrag_hits|0 2) active_defrag_key_hits|0 3) active_defrag_key_misses|0 4) active_defrag_misses|0 5) evicted_keys|0 6) expired_keys|0 7) expired_stale_perc|0.0 8) expired_time_cap_reached_count|0 9) instantaneous_input_kbps|0.0 10) instantaneous_ops_per_sec|0 11) instantaneous_output_kbps|0.0 12) keyspace_hits|32 13) keyspace_misses|0 14) latest_fork_usec|0 15) migrate_cached_sockets|0 16) pubsub_channels|0 17) pubsub_patterns|0 18) rejected_connections|0 19) slave_expires_tracked_keys|0 20) sync_full|0 21) sync_partial_err|0 22) sync_partial_ok|0 23) total_commands_processed|176 24) total_connections_received|2 25) total_net_input_bytes|1156 26) total_net_output_bytes|31850 |
REPLICATION
마스터/복제 서버에 대한 정보(접속한 복제 서버 수, 백로그 크기 등)를 조회합니다. 단축어: repl
info replication 명령과 거의 같은 정보를 조회합니다.
Example
명령> | select * from info.replication; |
결과> |
0) key|value 1) connected_slaves|0 2) master_link_down_since_seconds|1609915405 3) master_repl_offset|0 4) master_replid|ef3f6fe2f32826efcc92e0e6eccf6e706295f027 5) master_replid2|0 6) repl_backlog_active|0 7) repl_backlog_first_byte_offset|0 8) repl_backlog_histlen|0 9) repl_backlog_size|67108864 10) role|master 11) second_repl_offset|-1 12) slave_priority|100 13) slave_read_only|1 |
CPU
CPU 사용량 정보를 조회합니다.
info cpu 명령과 거의 같은 정보를 조회합니다.
Example
명령> | select * from info.cpu; |
결과> |
0) key|value 1) used_cpu_sys|6.884693 2) used_cpu_sys_children|0.0 3) used_cpu_user|13.174814 4) used_cpu_user_children|0.0 |
COMMANDSTATS
레디스 명령 통계 정보(실행 횟수, 소요 시간)를 조회합니다. 단축어: cmds
info commandstats 명령과 거의 같은 정보를 조회합니다.
Example
명령> | select * from info.commandstats; |
결과> |
0) key|calls|total|per 1) command|2|5185|2592.5 2) info|2|86|43.0 3) lpush|1|34|34.0 4) select|23|962985|41868.91 |
KEYSPACE
키 정보(총 키 개수, 데이터타입별 키 개수 등)를 조회합니다. 단축어: keys
info keyspace 명령과 비슷한 정보를 조회합니다.
Example
명령> | select * from info.keyspace; |
결과> |
0) key|total_keys|string|list|set|zset|hash|stream|module|expire_keys|expire_members 1) db0|7500|194|3|6|7018|279|0|0|0|0 2) db1|4591|28|0|0|4507|56|0|0|0|0 3) db2|4530|2|0|0|4513|15|0|0|0|0 |
STATLOG
레디스 서버의 주요 상태 정보를 조회합니다. 10분 마다 기록됩니다.
메모리 사용량, 키 개수, 명령 실행 수, 클라이언트 수 증감량으로 서버의 상태를 파악할 수 있습니다.
- key: 일시
- memory_hmem: 메모리 사용량, M/G로 표시
- memory: 메모리 사용량, 바이트로 표시
- rss_hmem: Resident Set Size, OS 기준으로 할당한 메모리 사이즈, M/G로 표시
- rss: Resident Set Size, OS 기준으로 할당한 메모리 사이즈, 바이트로 표시
- keys: 총 키 개수
- clients: 현재 접속한 클라이언트 수
- commands: 10분 동안 명령 실행 수
- cpu: 10분 동안 CPU 사용량
Example
명령> | select * from info.statlog; |
결과> |
0) key|memory_hmem|memory|rss_hmem|rss|keys|clients|commands|cpu 1) 2021-01-17 21:20:00|369.50M|387446240|378.51M|396894208|16753|10|38384|14 2) 2021-01-17 21:30:00|369.50M|387446776|378.51M|396894208|16753|10|38595|14 |
기간을 조건으로 조회할 수 있습니다. 데이터는 3개월 간 보관됩니다.
Example
명령> | select * from info.statlog where key like '2021-01-18%'; |
결과> |
0) key|memory_hmem|memory|rss_hmem|rss|keys|clients|commands|cpu 1) 2021-01-18 00:00:00|369.54M|387492648|378.55M|396943360|16753|0|6978|22 2) 2021-01-18 00:10:00|369.54M|387493832|378.55M|396943360|16757|0|7001|22 ... 중간 생략 ... 143) 2021-01-18 23:40:00|369.97M|387937160|379.06M|397475840|16765|0|32071|96 144) 2021-01-18 23:50:00|369.99M|387960056|379.07M|397488128|16765|0|32171|96 |
메모리 최저 사용량, 최고 사용량을 조회할 수 있습니다.
Example
명령> | select min(memory_hmem),max(memory_hmem) from info.statlog; |
결과> |
0) min(memory_hmem)|max(memory_hmem) 1) 369.45M|372.24M |
명령> | select key,max(memory_hmem) from info.statlog; 최고 사용량과 일시를 같이 조회 |
결과> |
0) key|max(memory_hmem) 1) 2021-01-25 02:40:00|372.57M |
Statlog 삭제
Statlog 데이터는 3개월간 보관됩니다.
삭제하려면 flushinfodb statlog [date [time]] 명령을 사용합니다.
Date를 사용하지 않으면 현재까지 statlog를 삭제됩니다.
Data time 형식은 YYYY-MM-DD HH:MM:SS 입니다.
Example
명령> | flushinfodb statlog statlog를 모두 삭제할 때 |
결과> | OK |
명령> | flushinfodb statlog 2021-02-01 2021년 2월 1일까지 statlog를 삭제할 때 |
결과> | OK |
명령> | flushinfodb statlog '2021-02-01 10:00:00' 2021년 2월 1일 10시까지 statlog를 삭제할 때 |
결과> | OK |
SLOWLOG
느린 쿼리(명령)을 조회할 수 있습니다.
기준은 slowlog-log-slower-than(microseconds)로 설정합니다.
- key: 일시, 마지막 숫자 3자리는 구분하기 위한 일련번호입니다.
- duration_ms: 실행 시간(millisecond)
- client_ip_port: 클라이언트 IP:Port
- client_name: 클라이언트 이름, client setname으로 설정했을 경우 표시됩니다.
- command: 실행한 명령, 30자까지 표시됩니다.
Example
명령> | select * from info.slowlog; |
결과> |
0) key|duration_ms|client_ip_port|client_name|command 1) 2021-01-19 22:04:08 001|5|127.0.0.1:51140|client-1|select select key from zset.* 2) 2021-01-19 23:01:30 001|4|127.0.0.1:51140|client-2|select select left(key,5) from zset.* |
느린 명령 순으로 조회할 수 있습니다.
Example
명령> | select * from info.slowlog order by duration_ms desc limit 5; |
결과> |
0) key|duration_ms|client_ip_port|client_name|command 1) 2021-01-19 23:01:50 002|399|127.0.0.1:51140|client-1|select select left(key,7),count(*) 2) 2021-01-19 23:03:18 004|370|127.0.0.1:51140|client-2|select select left(key,7),count(*) 3) 2021-01-19 23:02:27 003|366|127.0.0.1:51140|client-1|select select left(key,7),count(*) 4) 2021-01-22 19:19:06 002|6|127.0.0.1:38232|client-2|select select * from info.statlog; 5) 2021-01-23 15:48:46 002|6|127.0.0.1:43172|client-1|select select * from info.statlog; |
특정 클라이언트에서 실행된 명령만 조회할 수 있습니다.
Example
명령> | select * from info.slowlog where client_naem = 'client-1'; |
결과> |
0) key|duration_ms|client_ip_port|client_name|command 1) 2021-01-19 23:01:50 002|399|127.0.0.1:51140|client-1|select select left(key,7),count(*) 2) 2021-01-19 23:02:27 003|366|127.0.0.1:51140|client-1|select select left(key,7),count(*) 3) 2021-01-23 15:48:46 002|6|127.0.0.1:43172|client-1|select select * from info.statlog; |
Slowlog 삭제
Slowlog 데이터는 3개월간 보관됩니다.
삭제하려면 flushinfodb slowlog [date [time]] 명령을 사용합니다.
Date를 사용하지 않으면 현재까지 slowlog를 삭제됩니다.
Data time 형식은 YYYY-MM-DD HH:MM:SS 입니다.
Example
명령> | flushinfodb slowlog slowlog를 모두 삭제할 때 |
결과> | OK |
명령> | flushinfodb slowlog 2021-02-01 2021년 2월 1일까지 slowlog를 삭제할 때 |
결과> | OK |
명령> | flushinfodb slowlog '2021-02-01 10:00:00' 2021년 2월 1일 10시까지 slowlog를 삭제할 때 |
결과> | OK |
LATENCYLOG
느린 연산(event)을 조회할 수 있습니다.
기준은 latency-monitor-threshold(milliseconds)로 설정합니다.
Latency event에 대한 자세한 설명은 여기를 보세요
- key: 일시
- event_name: 이벤트 이름
- duration_ms: 실행 시간(millisecond)
Example
명령> | select * from info.latencylog; |
결과> |
0) key|event_name|duration_ms 1) 2021-01-17 16:30:48 001|command|1 2) 2021-01-17 18:45:03 001|aof-write|1 3) 2021-01-17 18:45:03 003|aof-write-alone|1 |
특정 일시를 조회할 수 있습니다.
Example
명령> | select * from info.latencylog where key like '2021-01-19 23%'; |
결과> |
0) key|event_name|duration_ms 1) 2021-01-19 23:01:30 001|command|4 2) 2021-01-19 23:01:50 002|command|399 3) 2021-01-19 23:02:27 003|command|366 |
특정 이벤트를 조회할 수 있습니다.
Example
명령> | select * from info.latencylog where event_name = 'aof-write'; |
결과> |
0) key|event_name|duration_ms 1) 2021-01-17 18:45:03 001|aof-write|1 2) 2021-01-17 18:46:20 002|aof-write|1 3) 2021-01-17 21:56:47 001|aof-write|1 |
Latencylog 삭제
Latencylog 데이터는 3개월간 보관됩니다.
삭제하려면 flushinfodb latencylog [date [time]] 명령을 사용합니다.
Date를 사용하지 않으면 현재까지 latencylog를 삭제됩니다.
Data time 형식은 YYYY-MM-DD HH:MM:SS 입니다.
Example
명령> | flushinfodb latencylog latencylog를 모두 삭제할 때 |
결과> | OK |
명령> | flushinfodb latencylog 2021-02-01 2021년 2월 1일까지 latencylog를 삭제할 때 |
결과> | OK |
명령> | flushinfodb latencylog '2021-02-01 10:00:00' 2021년 2월 1일 10시까지 latencylog를 삭제할 때 |
결과> | OK |
CLUSTER.INFO
클러스터 주요 상태 정보(노드 수, 슬롯 수 등)를 조회합니다.
cluster info 명령과 거의 같은 정보를 조회합니다.
Example
명령> | select * from cluster.info; |
결과> |
0) key|value 1) cluster_current_epoch|5 2) cluster_known_nodes|6 3) cluster_size|3 4) cluster_slots_assigned|16384 5) cluster_slots_fail|0 6) cluster_slots_ok|16384 7) cluster_slots_pfail|0 8) cluster_state|ok 9) cluster_stats_messages_received|66 10) cluster_stats_messages_sent|4637 |
CLUSTER.NODES
클러스터 노드 정보(ip:port, 노드id, 역할, 할당된 슬롯 등)를 조회합니다.
cluster nodes 명령과 거의 같은 정보를 조회합니다.
Example
명령> | select * from cluster.nodes; |
결과> |
0) key|node_id|cluster_bus_port|flags|master_node_id|ping_sent_time|pong_received_time| config_epoch|link_state|slots|migrating_or_importing_slots 1) 127.0.0.1:7000|a54a1fab4ce615215f247de22a67f1490aa1ba0b|17000|myself,master| -|0|1609916838000|1|connected|1-4,6-5460| 2) 127.0.0.1:7001|e46f0afedffd4e9bf5f1acd9a40017ed82472916|17001|master| -|0|1609916842708|4|connected|0,5,5461-10922| 3) 127.0.0.1:7002|857f3addef8c49040feb9cb0dd56e7b1fc887872|17002|master| -|0|1609916843000|3|connected|10923-16383| 4) 127.0.0.1:7003|549b0a6bde8d34f6dbbf881d1728225382af40c0|17003|slave| a54a1fab4ce615215f247de22a67f1490aa1ba0b|0|1609916841649|1|connected|| 5) 127.0.0.1:7004|5320a335128235b049a5eb1695a8c80325f8151d|17004|slave| e46f0afedffd4e9bf5f1acd9a40017ed82472916|0|1609916843764|4|connected|| 6) 127.0.0.1:7005|2bdfeddf65efb29495b79e81bf90d81c17ad6af0|17005|slave| 857f3addef8c49040feb9cb0dd56e7b1fc887872|0|1609916840596|5|connected|| |
동영상 설명
Redis SQL Select Info
<< Select Expire Keys | Info Query | Insert Intro |
---|