安装redis
禁用transparent_hugepage(重启redis后生效)
centos6 centos7默认开启transparent hugepage,可以加快fork子进程的速度,但是fork后,每个内存页从原来的4kb变成为2mb,会大幅增加重写期间父进程内存消耗,
同时每次写命令引起的复制内存页单位放大了512倍,会拖慢写操作的速度,导致大量写慢查询,建议禁用。
禁用HugePage
-- 动态禁用
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
-- 永久生效
vim /etc/rc.d/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
更改tcp-backlog(正常情况下,sa已进行优化)
/proc/sys/net/core/somaxconn定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数,默认值为128,对于高并发和多实例的系统建议增大该值。
echo 8192 > /proc/sys/net/core/somaxconn
设置合理的ulimit
默认的ulinit -n 为1024,一般不能满足需要,建议增大该值
##########################################
对于主从架构
master上不建议持久化,建议关闭rdb和aof,slave上开启rdb和aof,
为了减少IO争用,建议no-appendfsync-on-rewrite设置为yes。
#############################################
监控并调整swap
可以使用free -m查看当前swap的使用情况。
查看当前进程是否使用swap:
grep Swap /proc/${PID}/smaps
如果出现个别4kb的可以忽略,如果有很大的占用,说明该进程已经使用swap.
如果已经使用swap。请尽快调整
yum install gcc-c++
yum install -y tcl wget http://download.redis.io/releases/redis-5.2.0.tar.gz tar zxvf redis-5.2.0.tar.gz cd redis-5.2.0 make make test make PREFIX=/home/work/redis_6379 install
这里多了一个关键字 'PREFIX=' 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了 redis 必须存放在/home/work/redis_6379目录。这里指定好目录也方便后续的卸载,后续直接 rm -rf
/home/work/redis_6379 即可删除 Redis。
假设不添加该关键字 linux 会将:
- 可执行文件存放在 /usr/local/bin'目录;
- 库文件会存放在 /usr/local/lib 目录;
- 配置文件会存放在 /usr/local/etc 目录;
- 其他的资源文件会存放在 usr/local/share目录。
vi /home/work/redis_6379/conf/redis.conf master: daemonize yes pidfile /home/work/redis_6379/tmp/redis.pid port 6379 timeout 0 loglevel notice logfile /home/work/redis_6379/log/redis.log databases 16 save 900 1 save 300 10 save 60 10000 rdbcompression yes dbfilename dump.rdb dir /home/work/redis_6379/data slave-serve-stale-data yes slave-read-only yes repl-disable-tcp-nodelay no slave-priority 100 requirepass **** maxmemory 10737418240 appendonly no appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes # 从库: slaveof 10.10.10.10 6379 masterauth xxx
https://blog.csdn.net/vv_demon/article/details/7676384
1、官网下载redis。
https://redis.io/
2、解压tar包。
3、编译安装。
先用root新建一个目录/usr/local/redis:
然后安装:
4、移动配置文件并配置。配置为后台启动,端口号为6379,
5、配置开机自启动。
6、启动。
7、客户端连接测试。