Redis在Linux系统的配置优化指南.docx
《Redis在Linux系统的配置优化指南.docx》由会员分享,可在线阅读,更多相关《Redis在Linux系统的配置优化指南.docx(13页珍藏版)》请在第一文库网上搜索。
1、Redis在1inUX系统的配置优化指南【导读】一个良好的系统操作配置能够为Redis服务良好运行保驾护航。通常来看,RediS开发和运维人员更加关注的是RediS本身的一些配置优化,例如AOF和RDB的配置优化、数据结构的配置优化等,但是对于操作系统是否需要针对Redis做一些配置优化不甚了解或者不太关心,然而事实证明一个良好的系统操作配置能够为Redis服务良好运行保驾护航。众所周知Redis的作者对于Windows操作系统并不感冒,目前大部分公司都会将Web服务器、数据库服务器等部署在1inUX操作系统上,RediS也不例外。所以接下来介绍1inux操作系统如何优化Redis,包含如下七
2、个方面。一.内存分配控制1 .vm.Overcommit_memoryRedis在启动时可能会出现这样的日志:commandsysct1vm.overcommitmemory=1forthistotakeeffe在分析这个问题之前,首先要弄清楚什么是OVerComInit?1inux操作系统对大部分申请内存的请求都回复yes,以便能运行更多的程序。因为申请内存后,并不会马上使用内存,这种技术叫做OVerCOmmit。如果RediS在启动时有上面的日志,说明vm.overcommit_memory=0,RediS提示把它设置为1。vm.Overcommit_memory用来设置内存分配策略,它有
3、三个可选值,如下表所示。vm.overcommit_memory含义I表示内核将检查是否有足够的可用内存。如果有足够的可用内存,内存申请通过,否则内存申请失败,并把错误返回给应用进程1表示内核允许超量使用内存直到用完为止2表示内核决不过量的(neverOVerCommit)使用内存,即系统整个内存地址空间不能超过SWaP+50%的RAM值,50%是overcommit_ratio默认值,此参数同样支持修改注意:本文的可用内存代表物理内存与SWaP之和。日志中的BaCkgrOUnC1SaVe代表的是bgsave和bgrewriteaof,如果当前可用内存不足,操作系统应该如何处理fork。如果v
4、m.Overcommitjnemory=O,代表如果没有可用内存,就申请内存失败,对应到Redis就是fork执行失败,在RediS的日志会出现:上nnota11ocatememoryRedis建议把这个值设置为1,是为了让fork能够在低内存下也执行成功。2 .获取和设置获取::atprocsysvmovercommitjnemory设置:IeChovm.overcommitJnemOry二1etcsysct1.conf3 .最佳实践 RediS设置合理的InaX1ne1TIOry,保证机器有20%30%的闲置内存。 集中化管理aof重写和rdb的bgsave。 设置vm.overcommi
5、t_memory=1,防止极端情况下,会造成fork失败。二.Swappiness1 .参数说明SWaP对于操作系统来比较重要,当物理内存不足时,可以SWaPoUt一部分内存页,以解燃眉之急。但世界上没有免费午餐,swap空间由硬盘提供,对于需要高并发、高吞吐的应用来说,磁盘IO通常会成为系统瓶颈。在1irIUX中,并不是要等到所有物理内存都使用完才会使用到swap,系统参数swppiness会决定操作系统使用SWaP的倾向程度。SWaPPineSS的取值范围是(TIOO,Swappiness的值越大,说明操作系统可能使用SWaP的概率越高,SWaPPinCSS值越低,表示操作系统更加倾向于使
6、用物理内存。SwaP的默认值是60,了解这个值的含义后,有利于Redis的性能优化。下表对swappiness的重要值进行了说明。swapniess策略01inux3.5以及以上:宁愿00Mki11er也不用swap1inux3.4以及更早:宁愿swap也不要00Mki11er11inUX3.5以及以上:宁愿SWaP也不要OoMki11er60默认值100操作系统会主动地使用swap从下表中可以看出,SWaPPineSS参数在1inUX3.5版本前后的表现并不完全相同,Redis运维人员在设置这个值需要关注当前操作系统的内核版本。2 .设置方法swappiness设置方法如下:echobest
7、va1ueprocsysvmSWaPPineS但是上述方法在系统重启后就会失效,为了让配置在重启1inux操作系统后立即生效,只需要在ctcsysct1.conf追加vm.swappiness=bestva1ue即可。echovm.swappiness=bestva1ueetcsysCt1Conf需要注意procsysVInswappiness是设置操作,ctcsysct1.conf是追加操作。3 .如何监控SWaP(1)查看swap的总体情况1inUX提供了free命令来查询操作系统的内存使用情况,其中也包含了SwaP的相关使用情况。下面是某台1inUX服务器执行free-m(以兆为到位)的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Redis Linux 系统 配置 优化 指南