使用Redis+TCMalloc组合来提升服务器性能

其实,Redis可以采用不同内存分配器。

在Redis的 zmalloc.c 源码中,我们可以看到如下代码:

 48 /* Explicitly override malloc/free etc when using tcmalloc. */
 49 #if defined(USE_TCMALLOC)
 50 #define malloc(size) tc_malloc(size)
 51 #define calloc(count,size) tc_calloc(count,size)
 52 #define realloc(ptr,size) tc_realloc(ptr,size)
 53 #define free(ptr) tc_free(ptr)
 54 #elif defined(USE_JEMALLOC)
 55 #define malloc(size) je_malloc(size)
 56 #define calloc(count,size) je_calloc(count,size)
 57 #define realloc(ptr,size) je_realloc(ptr,size)
 58 #define free(ptr) je_free(ptr)
 59 #endif

tcmalloc | jemalloc | libc

关于Redis采用不同内存分配器碎片率对比,参看:http://blog.nosqlfan.com/html/3490.html

网上的相关参考:

http://blog.prosight.me/index.php/2011/07/766

http://blog.csdn.net/jiedushi/article/details/6286356


由于网上的很多资料所使用的版本都比较老,这里打算使用各个组件的最新版本重新安装一次。

Step 1. 64位操作系统请先安装libunwind库(32位操作系统不要安装)

http://www.nongnu.org/libunwind/download.html

安装过程如下:

$ wget http://mirror.yongbok.net/nongnu/libunwind/libunwind-1.0.1.tar.gz

$ tar zxvf libunwind-1.0.1.tar.gz

$ cd libunwind-1.0.1/

$ CFLAGS=-fPIC ./configure

$ make CFLAGS=-fPIC

$ make CFLAGS=-fPIC install


Step 2、安装google-perftools:

http://code.google.com/p/gperftools/downloads/list?redir=1

安装过程如下:

$ wget http://gperftools.googlecode.com/files/gperftools-2.0-1.i386.rpm

$ chmod 777 gperftools-2.0-1.i386.rpm

$ rpm -ivh gperftools-2.0-1.i386.rpm


Step 3. 安装Redis

http://redis.io/download

$ wget http://redis.googlecode.com/files/redis-2.4.13.tar.gz
$ tar xzf redis-2.4.13.tar.gz
$ cd redis-2.4.13
$ make

启动redis:

$ src/redis-server

启动控制台:

$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值