[转帖]redis配置注意事项(适合于较大配置)

redis,配置,注意事项,适合,较大 · 浏览次数 : 0

小编点评

**最佳 Redis 主节点内存配置:50-60%** 根据官方建议,Redis 主节点内存配置可以设置为 50-60%。以下是可行的配置值: * `vm.overcommit_memory = 1`:允许超过 1GB 的内存分配。 * `maxmemory = `:设置主节点可使用的最大内存数量。 * `appendfsync = always`:开启 appendfsync 模式,确保数据持久化。 * `allow_snapshotting = false`:禁用快照操作,避免内存占用。 * `client_max_buffer_size = `:设置每个客户端可使用的最大缓冲区大小。 **其他建议:** * 使用 `slowlog` 和 `slow ritratto` 等工具监控 Redis 的性能。 * 定期分析指标,以确保内存使用率正常。 * 使用 `redis-stress` 等工具模拟负载并评估性能。 * 在生产环境中,考虑使用监控工具,如 Prometheus 或 Grafana,实时监控内存使用率。

正文

https://tool.4xseo.com/article/102125.html

 

实际中最好让redis主节点仅使用50-60%的内存,剩余的用于执行bgsave和创建写命令的缓冲区,保证最大可

... 展开

根据官方的建议,redis-server的相关配置建议如下,但是有些并不合适,LZ会进行说明(如果redis使用的内存还不到1GB,或者大量qps还不到1000的应用,这已经淘汰了99%的应用,很多配置基本上就无所谓了,基本上没这么大影响,保证高可用即可,不会有性能问题的;):

1、vm.overcommit_memory = 1。实际中最好让redis主节点仅使用50-60%的内存,剩余的用于执行bgsave和创建写命令的缓冲区,保证最大可能的sla。

2、禁用linux内核特性transparent huge pages,echo never > /sys/kernel/mm/transparent_hugepage/enabled,oracle也如此要求,TPH和传统的大页在机制上有些不同,参见http://blog.itpub.net/26736162/viewspace-2214374/。

3、避免使用swap或禁用

4、设置maxmemory,限制redis使用的内存数量,而非自动,否则发生交换就奇慢无比了;

5、如果是ssd的话,复制模式下建议master节点启用持久化选项(当超过数GB时,保存快照会对前端影响较大,如果能够容忍极端情况下小部分更新丢失,应在slave节点机进行,而非master节点,主要可能是国外数据没国内这么大);

6、一般应使用显示的redis.conf,而非使用内置的配置,可在启动时通过命令行指定/etc/redis.conf;

7、应显示设置rdb、aof日志文件目录及文件名,logfile参数;默认为工作目录:

# The filename where to dump the DB
dbfilename dump.rdb   # rdb文件名
# The working directory.
#
# The DB will be written inside this directory, with the filename specified
# above using the 'dbfilename' configuration directive.
#
# The Append Only File will also be created inside this directory.
#
# Note that you must specify a directory here, not a file name.    # rdb存储目录
dir ./
[root@XXX redis-3.2.12]# ll | grep dump
-rw-r--r--  1 root root  19274 Aug  8 20:12 dump_16379.rdb
-rw-r--r--  1 root root   1259 Aug  8 22:23 dump_46379.rdb
-rw-r--r--  1 root root 446620 Nov 23 02:05 dump.rdb
############################## APPEND ONLY MODE ###############################
# By default Redis asynchronously dumps the dataset on disk. This modeis
# good enough in many applications,but an issue with the Redis process or
# a power outage may result into a few minutes of writes lost (depending on
# the configured save points).
#
# The Append Only File is an alternative persistence modethat provides
# much better durability. Forinstance using the default data fsync policy
# (see later in the config file)Redis can lose just one second of writes in a
# dramatic event like a server power outage, or a single write ifsomething
# wrong with the Redis process itself happens,but the operating system is
# still running correctly.
#
# AOF and RDB persistence can be enabled at the same time without problems.
# If the AOF is enabled on startup Redis will load the AOF,that is the file
# with the better durability guarantees.
#
# Please check http://redis.io/topics/persistence for more information.
appendonly yes
# The name of the append only file (default: "appendonly.aof")
appendfilename "appendonly.aof"
# The fsync() call tells the Operating System to actually write data ondisk
# instead of waiting for more data in the output buffer.Some OS will really flush
# data on disk, some other OS will just try to do it ASAP.
#
#Redis supports three different modes:
#
# no: don't fsync, just let the OS flush the data when it wants. Faster.
# always: fsync after every write to the append only log. Slow, Safest.
# everysec: fsync only one time every second. Compromise.
#
# The default is "everysec",as that's usually the right compromise between
# speed and data safety. It's up to you to understand ifyou can relax this to
# "no" that will let the operating system flush the output buffer when
# it wants, for better performances (but ifyou can live with the idea of
# some data loss consider the default persistence mode that's snapshotting),
# or on the contrary, use "always"that's very slow but a bit safer than
# everysec.
#
#More details please check the following article:
# http://antirez.com/post/redis-persistence-demystified.html
#
# If unsure, use "everysec".
#appendfsync always   AOF默认每秒写一次,跟mysql的innodb redo刷新机制是一样的
appendfsync everysec
# appendfsync no

8、各个版本的详细配置可参考:

redis配置注意事项(适合于较大配置)第1张

9、重要的是:

1、单进程架构,这意味着单个key的value不能过大,例如几兆,这会严重影响TPS,具体拆分可以参考:https://blog.csdn.net/beyond59241/article/details/78889867/
2、支持多database,不过最好使用多个instance的方式,有些客户端可能不支持多instance,同时性能也比较难以排查
3、不支持namespace的概念,所以最好使用前提前规划,比如namespace:key_name的方式,避免日后混乱
4、vm.swappiness=0 在os swap期间,进程会block直到完成,所以应该尽量避免

10、客户端缓冲大小配置,尤其是是在行情接收场景中。https://blog.csdn.net/luyaoying001/article/details/80264347

11、其它实践可以参考:https://www.cnblogs.com/ajianbeyourself/p/4472788.html

12、避免快照所在盘磁盘空间满,否则容易出现redis挂起。

与[转帖]redis配置注意事项(适合于较大配置)相似的内容:

[转帖]redis配置注意事项(适合于较大配置)

https://tool.4xseo.com/article/102125.html 实际中最好让redis主节点仅使用50-60%的内存,剩余的用于执行bgsave和创建写命令的缓冲区,保证最大可 ... 展开 根据官方的建议,redis-server的相关配置建议如下,但是有些并不合适,LZ会进

[转帖]Redis配置项汇总(超级详细)

http://c.biancheng.net/redis/config-summary.html 本节对 Redis 的常用配置项和基本命令做简单的总结,您可以把本篇文章看做简版的速查手册。不过,需要注意的是由于 Redis 不同版本的差异,配置项会多少存在一些不同,但总体的来说,大同小异。 基本配

[转帖]Redis配置文件介绍

https://www.cnblogs.com/fanqisoft/p/10422381.html Redis在源码包中存放了一个Redis配置实例文件,文件中对各个配置点进行了简单的介绍,我也通过这个文件来对Redis的一些配置进行一些简单介绍。 一.UNITS(单位)【了解】 1.Redis服务

[转帖]Redis configuration

Redis configuration Redis可以仅使用内建的默认配置启动,而不需要指定配置文件。但是,这种启动仅推荐用于测试和开发。 对于配置Redis恰当的方式是提供一个Redis配置文件,通常叫做redis.conf。redis.conf包含大量的指令,格式如下: keyword argu

[转帖]Redis故障检查:识别慢查询操作

https://weibo.com/ttarticle/p/show?id=2309404650615585505652 使用SLOWLOG命令查看Redis中的慢查询操作。 ​​前几篇日志总结了下对Redis部署时的一些配置,Redis启动后,面对各种请求,数据持久化到硬盘,很可能会出现内存不足等

[转帖]Redis学习四(运维指南).

阅读目录 一、上线规划 二、常见运维操作 三、测试方法 回到顶部 一、上线规划 一般 redis 的参数配置都在 redis.conf 中,在上线前根据实际环境配置好合适参数,能有效提高 redis 的可用性。 redis 的运行机器 CPU 不求核数多,但求主频高,Cache大,因为 redis

[转帖]redis惰性删除 lazy free 源码剖析,干货满满

目录 前言 数据删除场景 lazy free 概念 配置 源码剖析(版本 6.2.6) 场景一:客户端执行的显示删除/清除命令 场景二:某些指令带有的隐式删除命令 场景三:删除过期数据 场景四:内存淘汰数据删除 场景五:主从同步清空从库 小结 前言 都说 redis 是单线程的,其实并不是说 red

[转帖]Redis key 乱码问题(springboot)

保存到redis中的key 前半段会出现乱码问题 原来配置: @Configuration@EnableCachingpublic class RedisCacheConfig { @Bean public CacheManager cacheManager(RedisTemplate

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]Redis高可用集群

目录 1、 前言 2、初识TwemProxy 2.1 什么是TwemProxy 2.2 安装TwemProxy 2.3 配置TwemProxy 2.4 测试TwemProxy 3、初识Keepalived 3.1 什么Keepalived 3.2 安装keepalive 3.3 配置keepaliv