테스트 진행시 레디스의 사용한 메모리를 측정하려면 INFO 명령어를 활용하면 된다.
실행하기 전에 FLUSHALL 메모리를 먼저 초기화한다.
$ redis-cli FLUSHALL
$ redis-cli INFO memory
# Memory
used_memory:575552
used_memory_human:562.06K
used_memory_rss:32047104
used_memory_peak:32080496
used_memory_peak_human:30.59M
used_memory_lua:40960
mem_fragmentation_ratio:55.68
mem_allocator:libc
$ node test.js
$ redis-cli INFO memory
# Memory
used_memory:14424128
used_memory_human:13.76M
used_memory_rss:41230336
used_memory_peak:37663136
used_memory_peak_human:35.92M
used_memory_lua:40960
mem_fragmentation_ratio:2.86
mem_allocator:libc
사용한 메모리는 13,848,576이다.
14424128 - 575552=13,848,576
이 원리를 이용하여 레디스에서 사용한 메모리를 뽑는 간단히 만들었다.
memory-used.sh 파일이다. 원리는 위의 레디스 실행 코드 기반이다.
#!/bin/sh
ok=`redis-cli FLUSHALL`
echo "redis memory flush all : ${ok}"
before=`redis-cli INFO memory | grep 'used_memory:' | awk -F: '{print $2}'`
b=`echo "${before//[$'\t\r\n ']}"`
echo "test start"
node test.js
echo "test end"
after=`redis-cli INFO memory | grep 'used_memory:' | awk -F: '{print $2}'`
a=`echo "${after//[$'\t\r\n ']}"`
used=$(expr $a - $b)
echo "redis used memory ${used}"
실행하기.
$ ./memory-used.sh
redis memory flush all : OK
test start
test end
redis used memory 13848576
'Redis' 카테고리의 다른 글
[redis] AUTH 커맨드 (0) | 2016.01.28 |
---|---|
[펌] fork와 Redis 클라우드 (0) | 2016.01.25 |
[redis] 레디스 데이터 타입, 값에 따른 인코딩 값 확인하기 - OBJECT ENCODING (0) | 2016.01.15 |
[redis] MIGRATE 커맨드 (0) | 2016.01.15 |
[redis] PERSIST 커맨드 (0) | 2016.01.14 |