百万级运维经验二:Redis和Memcached的选择
- - CSDN博客系统运维推荐文章看到很多人推荐使用Redis代替Memcached,我觉得这两个是不一样的东西,它们的关系应该是共存而不是替代. Memcached是个纯内存型的缓存系统,支持数据类型单一,单个缓存数据有限制,支持分布式,我觉得这是个很理想的缓存系统. Redis是个简单的NOSQL数据库,支持几种简单的数据类型,支持主从复制,支持持久化,可以看作是个内存型数据库.
* soft nofile 65535 * hard nofile 65535这两行参数设置linux系统最大可打开文件数
编辑文件/etc/sysctl.conf,添加以下参数:
vm.overcommit_memory = 1
如果服务器装有Redis,这个参数一定要加,不然Redis有很大的可能无法同步数据到磁盘。
把所有带backlog的参数的值调大,如:
net.ipv4.tcp_max_syn_backlog = 65535
由原来的1024改成10240,队列容纳的最大半连接数。
net.core.netdev_max_backlog = 65535允许送到队列的数据包的最大数目。
net.core.somaxconn = 65535据说网站502问题大多都是这个参数没设置的原因。
net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1这两句是加快进程回收和服用的。