TCMalloc(Thread-Caching Malloc)是google開發的開源工具──“google-perftools”中的成員。與標準的glibc庫的malloc相比,TCMalloc在記憶體的分配上效率和速度要高得多,可以在很大程度上提高MySQL伺服器在高並發情況下的效能,降低系統負載。
TCMalloc庫的安裝步驟(Linux環境):
1、64位作業系統請先安裝libunwind庫,32位作業系統不要安裝。libunwind庫為基於64位CPU和作業系統的程式提供了基本的堆棧輾轉開解功能,其中包括用於輸出堆疊追蹤的API、用於以編程方式輾轉開解堆棧的API以及支援C++異常處理機制的API。
- wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-alpha.tar.gz
- tar zxvf libunwind-0.99-alpha.tar.gz
- cd libunwind-0.99-alpha/
- CFLAGS=-fPIC ./configure
- make CFLAGS=-fPIC
- make CFLAGS=-fPIC install
2、安裝google-perftools:
- wget http://google-perftools.googlecode.com/files/google-perftools-1.7.tar.gz
- tar zxvf google-perftools-1.7.tar.gz
- cd google-perftools-1.7/
- ./configure
- make && make install
-
- echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
- /sbin/ldconfig
資料庫redis的安裝步驟
- $ curl -O http://redis.googlecode.com/files/redis-2.2.2.tar.gz
- $ tar xzvf redis-2.2.2.tar.gz
- $ cd redis-2.2.2
- $ 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"