天天看點

MemCached及其壓力測試工具memslap安裝說明

2011-5-5

1、安裝libevent

memcached需要用到socked,依賴此安裝libevent。檢查伺服器系統版本

#lsb_release -a

CentOS release 5.5 (Final)

在安裝之前需要安裝gcc編譯器

#yum install gcc

檢視系統是否利用rpm源安裝過libevent

rpm -qa|grep libevent

libevent-1.4.13-1

一般rpm源的軟體比較舊,可以登入其網站下載下傳最新穩定版本

http://monkey.org/~provos/libevent/

http://monkey.org/~provos/libevent-2.0.11-stable.tar.gz

現在最新穩定版本是2.0.11

在linux環境可以直接下載下傳

#wget -c http://monkey.org/~provos/libevent-2.0.11-stable.tar.gz

在安裝新版本之前

需要解除安裝原來預設安裝的舊版本

#rpm -e libevent-1.4.13-1 --nodeps #忽略依賴删除

安裝libevent

#tar -zxvf libevent-2.0.11-stable.tar.gz

#cd libevent-2.0.11-stable

#./configure

#make && make install

2、安裝memcached

同理檢查系統安裝過

#rpm -qa | grep memcache

php-pecl-memcache-2.2.3-1.el5_2

檢視現在memcached版本

這裡可以把其擴充删除,用源碼編譯安裝

#rpm -e php-pecl-memcache-2.2.3-1.el5_2

我們這裡memcached采用源代碼編譯安裝的方式進行

然後編譯安裝

http://memcached.org/

http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz

下載下傳資源

#wget -c http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz

安裝memcached

#tar -zxvf memcached-1.4.5.tar.gz

#cd memcached-1.4.5

#./configure

#make && make install

安裝完成後再次檢視

PS:

若要删除編譯安裝的版本,在源碼包目錄下

#make uninstall

#make clean

#make distclean 若都不提供,直接rm dir

新版本直接指定prefix,然後make && make install

3、目前使用者的.bash_profile中添加環境變量

#vi ~/.bash_profile

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

export LD_LIBRARY_PATH

4 安裝memcached的PHP擴充

上面檢視memcached的時候,已經安裝其擴充。版本差異不大,我就用友善的方式,使用yum安裝memcached的PHP擴充。

#yum install php-pecl-memcache

安裝完以後可以使用下面指令檢視其擴充子產品是否安裝完全

#php -m | grep memcache

memcache

未提示錯誤安裝成功 版本2.2.3-1.el5_2

最後可以執行個php腳本測試,我在10.28.8.76上測試通過。

#vi test_memcached.php

<?php

$mem = new Memcache;

$mem->connect('10.28.8.76', 12000);

$mem->set('key', 'This is a memcache test!', 0, 60);

$val = $mem->get('key');

echo $val;

?>

#php test_memcached.php

This is a memcache test!

表明可以使用

5、啟動memcached

更新後需kill原來程序,重新啟動

#ps aux|grep memcache

root     14561  4.6 26.8 1130416 1057740 ?     Ssl  11:00   8:24 /usr/local/bin/memcached -d -m 1024 -u root -l 10.28.8.76 -p 12000 -c 1000 -P /tmp/memcached.pid

#kill 14561

下面重新啟動

#/usr/local/bin/memcached -d -m 1024 -u root -l 10.28.8.76 -p 12000 -c 1000 -P /tmp/memcached.pid

具體參數如下

-d選項是啟動一個守護程序,

-m是配置設定給Memcache使用的記憶體數量,機關是MB,這裡是1024MB

-u是運作Memcache的使用者,目前為 root 的話,需要使用此參數指定使用者。

-l是監聽的伺服器IP位址,如果有多個位址的話,這裡指定伺服器的IP位址10.28.8.76

-p是設定Memcache監聽的端口,這裡設定了12000

-c選項是最大運作的并發連接配接數,預設是1024,這裡設定1000

-P是設定儲存Memcache的pid檔案

我在另一台伺服器上,按指定路徑安裝後會提示以下錯誤,若不指定安裝路徑無問題。

/usr/local/bin/memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

查找錯誤位置

#LD_DEBUG=libs /usr/local/bin/memcached -v

      9041:    find library=libevent-2.0.so.5 [0]; searching

      9041:     search cache=/etc/ld.so.cache

      9041:     search path=/lib64/tls/x86_64:/lib64/tls:/lib64/x86_64:/lib64:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64        (system search path)

      9041:      trying file=/lib64/tls/x86_64/libevent-2.0.so.5

      9041:      trying file=/lib64/tls/libevent-2.0.so.5

      9041:      trying file=/lib64/x86_64/libevent-2.0.so.5

      9041:      trying file=/lib64/libevent-2.0.so.5

      9041:      trying file=/usr/lib64/tls/x86_64/libevent-2.0.so.5

      9041:      trying file=/usr/lib64/tls/libevent-2.0.so.5

      9041:      trying file=/usr/lib64/x86_64/libevent-2.0.so.5

      9041:      trying file=/usr/lib64/libevent-2.0.so.5

      9041:    

/usr/local/memcached-1.4.5/bin/memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

連結庫

#ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5

然後運作memcached

#/usr/local/bin/memcached -d -m 1024 -u root -l 10.28.8.76 -p 12000 -c 1024 -P /tmp/memcached.pid

無錯誤提示 OK

檢視其狀态

#echo stats | nc 10.28.8.76 12000

STAT pid 2845

STAT uptime 22208

STAT time 1304582476

STAT version 1.4.5

……

停止Memcache程序:

#kill `cat /tmp/memcached.pid`

6、memcached壓力測試工具memslap的安裝

要使用memslap需安裝libmemcached,其将自帶memslap的工具。

官方網站與下載下傳位址 最新版

http://libmemcached.org/libMemcached.html

http://launchpad.net/libmemcached/1.0/0.49/+download/libmemcached-0.49.tar.gz

下載下傳與安裝

#wget -c http://launchpad.net/libmemcached/1.0/0.49/+download/libmemcached-0.49.tar.gz

#tar -xzvf libmemcached-0.49.tar.gz

#cd libmemcached-0.49

#./configure

#make && make install

安裝完成後檢視是否安裝成功

#ls /usr/local/bin/memslap

/usr/local/bin/memslap

若存在則安裝成功

檢視memslap版本

#memslap -V

memslap v1.0