1. 記錄一下redis常用運維命令
語法:[config get xxx]
例如:
同樣的還有config set [屬性] [屬性值] ,給指定屬性值設置參數。
列一下client list中對應的欄位含義:
如果發現idle中對應的值比較高,說明redis的timeout屬性設置有問題。結合config get timeout查看一下超時時間,如果timeout為0,說明已經禁用掉該功能,就有可能導致redis連接數不釋放的問題。
Slow log 的行為由兩個配置參數(configuration parameter)指定,可以通過改寫 redis.conf 文件或者用 CONFIG GET 和 CONFIG SET 命令對它們動態地進行修改。
第一個選項是 slowlog-log-slower-than ,它決定要對執行時間大於多少微秒(microsecond,1秒 = 1,000,000 微秒)的查詢進行記錄。
比如執行以下命令將讓 slow log 記錄所有查詢時間大於等於 100 微秒的查詢:
CONFIG SET slowlog-log-slower-than 100
而以下命令記錄所有查詢時間大於 1000 微秒的查詢:
CONFIG SET slowlog-log-slower-than 1000
另一個選項是 slowlog-max-len ,它決定 slow log 最多能保存多少條日誌, slow log 本身是一個 FIFO 隊列,當隊列大小超首大碼過 slowlog-max-len 時,最舊的一條日誌將被刪除,而最新的一條日誌加入到 slow log ,以此類推。
以下命令讓 slow log 最多保存 1000 條日誌:
CONFIG SET slowlog-max-len 1000
使用 CONFIG GET 命令可以查詢兩個選項的當前值:
查看 slow log
要查看 slow log ,可以使用 SLOWLOG GET 或者 SLOWLOG GET number 命令,前者列印所有 slow log ,最大長度取決於 slowlog-max-len 選項的值,而 SLOWLOG GET number 則只列印指定數仿差量的日誌。
最新的日誌會最先被列印:
為測試需要,將 slowlog-log-slower-than 設成了 10 微秒
日誌的唯一 id 只有在 Redis 伺服器重啟的時候才會重置,這樣可以避免對日誌的重復處理(比如你可能會想在每次發現新的慢查詢時發郵件通知你)。
查看當前日誌的數量
使用命令 SLOWLOG LEN 可以查看當前日誌的數量。
請注意這個值和 slower-max-len 的區別,它們一個是當前日誌的數量,一個是允許記錄的最大日誌的數量。
清空日誌
使用命令 SLOWLOG RESET 可以清空 slow log 。
測試命者哪令事例:
1、redis-benchmark -h 192.168.1.201 -p 6379 -c 100 -n 100000
100個並發連接,100000個請求,檢測host為localhost 埠為6379的redis伺服器性能
2、redis-benchmark -h 192.168.1.201 -p 6379 -q -d 100
測試存取大小為100位元組的數據包的性能
3、redis-benchmark -t set,lpush -n 100000 -q
只測試某些操作的性能
4、redis-benchmark -n 100000 -q script load "redis.call('set','foo','bar')"
只測試某些數值存取的性能
測試結果分析:
參考文檔: http://www.cnblogs.com/silent2012/p/4514901.html
http://www.runoob.com/redis/server-client-list.html
http://dba10g.blog.51cto.com/764602/1846068
http://blog.csdn.net/cxhgg/article/details/67640263