您好,登錄后才能下訂單哦!
背景:redis做為非常流行的nosql,無論是運維還是開發人員都應該撐握,下面給大家帶redis的原碼安裝
一,安裝
1,wget http://download.redis.io/releases/redis-3.2.12.tar.gz
2,tar -zxvf redis-3.2.12.tar.gz
3,cp redis-3.2.12 /usr/local/redis-3.2.12
4,cd /usr/local/redis-3.2.12
5,make && make install
6,cp redis.conf /etc/redis.conf
7.啟動:
redis-server /etc/redis.conf
二,linux 內核優化:
vim /etc/rc.local
#redis settint
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 2018 >/proc/sys/net/core/somaxconn
vim /etc/sysctl.cnf
vm.overcommit_memory = 1
sysctl -p
--備注:
如果不整體這些參數,redis啟動時會有告警信息,最重要的是有可能會導致redis一個性能問題,特別是redis并發量比較大的時候
====================================================================
第一個警告:The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
意思是:TCP backlog設置值,511沒有成功,因為 /proc/sys/net/core/somaxconn這個設置的是更小的128.
臨時解決方法:(即下次啟動還需要修改此值)
echo 511 > /proc/sys/net/core/somaxconn
永久解決方法:(即以后啟動還需要修改此值)
將其寫入/etc/rc.local文件中。
baklog參數實際控制的是已經3次握手成功的還在accept queue的大小。
參考linux里的backlog詳解
第二個警告:overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to/etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
意思是:overcommit_memory參數設置為0!在內存不足的情況下,后臺程序save可能失敗。建議在文件 /etc/sysctl.conf 中將overcommit_memory修改為1。
臨時解決方法:echo "vm.overcommit_memory=1" > /etc/sysctl.conf
永久解決方法:將其寫入/etc/sysctl.conf文件中。
參考:有關linux下redis overcommit_memory的問題
第三個警告:you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix thisissue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain thesetting after a reboot. Redis must be restarted after THP is disabled.
意思是:你使用的是透明大頁,可能導致redis延遲和內存使用問題。執行 echo never > /sys/kernel/mm/transparent_hugepage/enabled 修復該問題。
臨時解決方法:
echo never > /sys/kernel/mm/transparent_hugepage/enabled。
永久解決方法:
將其寫入/etc/rc.local文件中。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。