http://lzone.de/blog/Redis%20Performance%20Debugging?mkt_tok=3RkMMJWWfF9wsRons67KZKXonjHpfsX56uolX6KxlMI%2F0ER3fOvrPUfGjI4DT8tgI%2BSLDwEYGJlv6SgFQ7HAMa5m3rgMWRk%3D
Monitoring Live Redis Queries
Run the "monitor" command to see queries as they are sent against an Redis instance. Do not use on high traffic instance!
redis-cli monitor
The output looks like this
redis 127.0.0.1:6379> MONITOR OK 1371241093.375324 "monitor" 1371241109.735725 "keys" "*" 1371241152.344504 "set" "testkey" "1" 1371241165.169184 "get" "testkey"
Analyzing Slow Commands
When there are too many queries better use "slowlog" to see the top slow queries running against your Redis instance:
slowlog get 25 # print top 25 slow queries slowlog len slowlog reset
Debugging Latency
If you suspect latency to be an issue use "redis-cli" built-in support for latency measuring. First measure system latency on your Redis server with
redis-cli --intrinsic-latency 100
and then sample from your Redis clients with
redis-cli --latency -h <host> -p <port>
If you have problems with high latency check if transparent huge pages are disabled. Disable it with
echo never > /sys/kernel/mm/transparent_hugepage/enabled
Check Background Save Settings
If your instance seemingly freezes peridiocally you probably have background dumping enabled.
grep ^save /etc/redis/redis.conf
Comment out all save lines and setup a cron job to do dumping or a Redis slave who can dump whenever he wants to.
Alternatively you can try to mitigate the effect using the "no-appendfsync-on-rewrite" option (set to "yes") in redis.conf.
Check fsync Setting
Per default Redis runs fsync() every 1s. Other possibilities are "always" and "no".
grep ^appendfsync /etc/redis/redis.conf
So if you do not care about DB corruption you might want to set "no" here.
'emotional developer > detect-server' 카테고리의 다른 글
GitHub Pull Request Builder Plugin 설정 (0) | 2016.03.24 |
---|---|
apache virtual host ip access 설정. (0) | 2015.07.20 |
MS SQL 여러 디비에 변경 쿼리 실행 TSQL. (0) | 2014.08.11 |