高性能NoSQL数据库Redis结合谷歌开源tcmalloc库的安装笔记


TCMalloc(Thread-Caching Malloc)是google开发的开源工具──“google-perftools”中的成员。与标准的glibc库的malloc相比,TCMalloc在内存的分配上效率和速度要高得多,可以在很大程度上提高MySQL服务器在高并发情况下的性能,降低系统负载。

TCMalloc库的安装步骤(Linux环境):

1、64位操作系统请先安装libunwind库,32位操作系统不要安装。libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。

  1. wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-alpha.tar.gz   
  2. tar zxvf libunwind-0.99-alpha.tar.gz  
  3. cd libunwind-0.99-alpha/  
  4. CFLAGS=-fPIC ./configure  
  5. make CFLAGS=-fPIC  
  6. make CFLAGS=-fPIC install  

2、安装google-perftools:

  1. wget http://google-perftools.googlecode.com/files/google-perftools-1.7.tar.gz   
  2. tar zxvf google-perftools-1.7.tar.gz  
  3. cd google-perftools-1.7/  
  4. ./configure  
  5. make && make install  
  6.   
  7. echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf  
  8. /sbin/ldconfig  

数据库redis的安装步骤

  1. $ curl -O http://redis.googlecode.com/files/redis-2.2.2.tar.gz   
  2. $ tar xzvf redis-2.2.2.tar.gz  
  3. $ cd redis-2.2.2  
  4. $ make USE_TCMALLOC=yes  

检查tcmalloc是否生效

# lsof -n | grep tcmalloc

出现以下信息说明生效

redis-ser 13768   root  mem       REG        8,5  1616491     788696 /usr/local/lib/libtcmalloc.so.0.1.0

修改配置文件:

vim redis.conf

找到 daemonize,将后面的no改为yes,让其可以以服务方式运行

然后启动 redis:

$ ./redis-server ./redis.conf

连接数据库进行测试

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

相关内容