redis性能优化参考

redis调优总结

1、相应的参数调优 加内存
2、redis使用结构调优
3、使用合理的数据类型
说明:redis存储的数据为redis hash(字符映射表) 单key多字段结构。

1)调整配置文件中配置项的值(修改文件:redis.conf)
1)调整memory大小 redis.conf 中maxmemory 不需要配置(作为数据库来使用) 需要配置(作为缓存来使用)
2)设置过期时间 expires 键值名称 秒数 expires key 60 设置过期时间 为了腾出更多的空间

过期策略:
没有设置key的过期时间,则使用 allkeys-lru lru算法
有设置key的过期时间,则使用 volatile-ttl ttl算法

3)设置redis允许处理的最大请求连接数,减少延迟时间
调整maxclients大小 为监控得出的数据1~1.5倍

4)其他参数
超过多少秒后,关闭空闲连接 TCP keepalive
关闭检查数据库数据的正确性 rdbchecksum off

5)调整持久化在线重写方式
auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes aof-rewrite-incremental-fsync yes
max-size*max-total <硬盘大小

auto-aof-rewrite-percentage
auto-aof-rewrite-min-size
auto-aof-incremental-fsync yes

6)加大内存的大小,避免未知错误
overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
more /proc/sys/vm/overcommit_memory
vm.overcommit_memory=1

6)redis慢查询日志,单位微秒
redis配置中进行,
slowlog-log-slower-than 10000 (负数:禁用慢查询,0:记录执行命令,正数:大于该值则记录执行命令)
slowlog-max-len 128 保持最新条数的慢查询日志

时间: 2024-10-22 05:02:24

redis性能优化参考的相关文章

《吐血整理》Redis 性能优化的 13 条军规!史上最全

Redis 是基于单线程模型实现的,也就是 Redis 是使用一个线程来处理所有的客户端请求的,尽管 Redis 使用了非阻塞式 IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是 O(1)),但由于 Redis 是单线程执行的特点,因此它对性能的要求更加苛刻,本文我们将通过一些优化手段,让 Redis 更加高效的运行. 本文我们将使用以下手段,来提升 Redis 的运行速度: 缩短键值对的存储长度: 使用?lazy free(延迟删除)特性: 设置键值的过期时间: 禁用长耗时的查询命

tomcat性能优化参考

1)内存优化(调整配置堆的大小,修改文件:catalina.sh) JAVA_OPTS="-server -Xms595M -Xmx595M -Xmn223M -XX:SurvivorRatio=10 -Xss1M -Djava.awt.headless=true -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+UseCMSCompactAtFullCollection -XX:+E

apache性能优化参考

1)调整配置文件的配置项的值(httpd.conf) Timeout 60 #建议设置该值比较小,有利于快速释放连接.KeepAlive Off #系统前端有安装squid,则必须要开启:否则处理动态的内容多,则关闭,或处理静态的资源多,也许开启.MaxKeepAliveRequests 100KeepAliveTimeout 15 #KeepAlive超时时间,没有指定该值,默认使用Timeout,否则使用该值.配置工作模式1:prefork.c<IfModule prefork.c> #多

nginx性能优化参考

1)调整配置文件中的配置项的值(配置文件:nginx.conf) worker_processes auto;开启的进程数,一般配置为跟逻辑CPU核数一样worker_rlimit_nofile 51200;1个nginx进程可打开的最大文件描述符数目的数量 events{ use epoll;设置工作模式为消息通知模式(epoll),轮询模式效率低(select) worker_connections 51200;每个进行可打开的最大连接数据,受最大文件描述符数目的限制 multi_accep

Redis各种数据结构性能数据对比和性能优化实践

很对不起大家,又是一篇乱序的文章,但是满满的干货,来源于实践,相信大家会有所收获.里面穿插一些感悟和生活故事,可以忽略不看.不过听大家普遍的反馈说这是其中最喜欢看的部分,好吧,就当学习之后轻松一下. Redis各种数据结构性能数据对比 测试工具:perf4j 性能指标:平均值,最小值,最大值,方差 对比将814条数据按单条插入到哈希MAP和哈希SET: 对比从814条数据的哈希MAP和哈希SET中判断一个元素是否存在(map的hasKey和set的isMember): 大量数据插入哈希MAP,运

关于redis性能问题分析和优化

一.如何查看Redis性能 info命令输出的数据可分为10个分类,分别是: server,clients,memory,persistence,stats,replication,cpu,commandstats,cluster,keyspace 为了快速定位并解决性能问题,这里选择5个关键性的数据指标,它包含了大多数人在使用Redis上会经常碰到的性能问题 二.内存 上图中used_memory 字段数据表示的是:由Redis分配器分配的内存总量,以字节(byte)为单位. 其中used_m

java架构师负载均衡、高并发、nginx优化、tomcat集群、异步性能优化、Dubbo分布式、Redis持久化、ActiveMQ中间件、Netty互联网、spring大型分布式项目实战视频教程百度网盘

15套Java架构师详情 * { font-family: "Microsoft YaHei" !important } h1 { background-color: #006; color: #FF0 } 15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  clo

网站性能优化小结和spring整合redis

现在越来越多的地方需要非关系型数据库了,最近网站优化,当然从页面到服务器做了相应的优化后,通过在线网站测试工具与之前没优化对比,发现有显著提升. 服务器优化目前主要优化tomcat,在tomcat目录下的server.xml文件配置如下内容: <Connector port="1818" protocol="HTTP/1.1" maxHttpHeaderSize="8192" maxThreads="1000" minS

论代码级性能优化变迁之路(二)

本文是"论代码级性能优化变迁之路一"的第二篇. 在上一篇我们主要介绍了所遇到问题的五点,那么今天接下来讨论剩下的问题,我们先再回顾一下之前讨论的问题: 1.单台40TPS,加到4台服务器能到60TPS,扩展性几乎没有. 2.在实际生产环境中,经常出现数据库死锁导致整个服务中断不可用. 3.数据库事务乱用,导致事务占用时间太长. 4.在实际生产环境中,服务器经常出现内存溢出和CPU时间被占满. 5.程序开发的过程中,考虑不全面,容错很差,经常因为一个小bug而导致服务不可用. 6.程序中