memcahched的监控MemAdmin安装使用

一、Memcached安装

1.1安装

1、 wget http://memcached.org/latest  下载

2、 tar -zxvf memcached-1.x.x.tar.gz

3、 cd memcached-1.x.x

4、 ./configure && make && make test && sudo make install

注意:前提安装:libevent-dev  apt-get install libevent-dev

cd /usr/lib64

ln -s  /opt/memcached/deploy/libevent-2.1.8/lib/libevent-2.1.so.6  libevent-2.0.so.5

1.2启动

memcached -d -m 10 -u memcached -l 195.203.56.36 -p 11211 -c 100 -P /opt/logs/memcached/memcached.pid 

参数说明:

-d选项是启动一个守护进程

-m是分配给Memcache使用的内存数量,单位是MB

-u是运行Memcache的用户

-l是监听的服务器IP地址

-p是设置Memcache监听的端口,最好是1024以上的端口

-c选项是最大运行的并发连接数,默认是1024

-P是设置保存Memcache的pid文件

-h 打印帮助信息

-v 输出警告和错误信息

-vv 打印客户端的请求和返回信息

获取运行状态

echo stats | nc 195.203.56.36 11211

watch "echo stats | nc 195.203.56.36 11211" (实时状态)

1.2twemperf测试工具

1.2.1安装twemperf

git clone git://github.com/twitter/twemperf.git

cd twemperf

autoreconf –fvi  注意需要前置环境:autoconf

CFLAGS="-ggdb3 -O0" ./configure --enable-debug --prefix=/opt/memcached/deploy/twemperf

Make

Make install

1.2.2安装autoconf

wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.65.tar.gz  

./configure --prefix=/opt/memcached/deploy/aotoconf

Make

Make install

注意前置环境:libtool

1.2.3安装libtool

wget http://mirror.hust.edu.cn/gnu/libtool/libtool-2.4.tar.gz

./configure --prefix=/opt/memcached/deploy/libtool-2.4

Make

Make install

1.2.4twemperf使用

 

二、apache

2.1安装

http://httpd.apache.org/download.cgi

./configure --prefix=/opt/memcached/deploy/httpd-2.2.32--enable-module=shared

要加上后面的参数,否则无法使用php,-enable-module=shared表示Apache可以动态的加载模块

Make&&make install

2.2启停

启动,重启和停止 ,先切换到安装完成后的目录/=/opt/memcached/deploy/httpd-2.2.32/bin

    ./apachectl -k start

    ./apachectl -k restart

    ./apachectl -k stop 

2.3配置文件(满足最基本的配置)

     编辑=/opt/memcached/deploy/httpd-2.2.32/conf/httpd.conf 文件    

     找到:

    AddType  application/x-compress .Z

    AddType application/x-gzip .gz .tgz

    在后面添加:

    AddType application/x-httpd-php .php(使Apcche支持PHP)

AddType application/x-httpd-php-source .php5

三、php部署

3.1安装php

下载:http://www.php.net/downloads.php

php-5.6.30.tar.gz

./configure --prefix=/opt/memcached/deploy/php_5.6.30  --with-apxs2=/opt/memcached/deploy/httpd_2.2.32/bin/apxs --with-config-file-path==/opt/memcached/deploy/php_5.6.30 

注意这里有一个-with-apxs2=/usr/local/apache/bin/apxs选项,其中apxs是在安装Apache时产生的,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中

Make&&make test&&make install

3.2测试

重启apache

在apache的htdocs下建立一个php文件test.php,里面的内容如下:

    <?php

    phpinfo();

    ?>

    在浏览器里输入http://127.0.0.1/test.php

    如果出现php的相关配置,成功,如果什么都没有输入,说明失败,重新以上步骤或者查找原因

 

3.3安装memcached扩展

 

tar zxvf memcache-3.0.8.tgz

cd memcache-3.0.8

phpize

./configure --enable-memcache --with-php-config=/opt/memcached/deploy/php_5.6.30/bin/php-config --with-zlib-dir 

由于是yum安装的php,可以使用find / -name php-config 查找php-config文件的位置

make

make install

显示:

Installing shared extensions:     /opt/memcached/deploy/php_5.6.30/lib/php/extensions/no-debug-non-zts-20131226/

通过 php  –ini查询php.ini的位置

Configuration File (php.ini) Path: /opt/memcached/deploy/php_5.6.30/lib

Loaded Configuration File:         /opt/memcached/deploy/php_5.6.30/lib/php.ini

Scan for additional .ini files in: (none)

Additional .ini files parsed:      (none)

从源码包中cp ./php-5.6.30/php.ini-development /opt/memcached/deploy/php_5.6.30/lib/php.ini

 

在php.ini文件中添加memcache扩展,使php支持memcache

vi /opt/memcached/deploy/php_5.6.30/lib/php.ini

在文件尾增加以下内容

extension_dir :     /opt/memcached/deploy/php_5.6.30/lib/php/extensions/no-debug-non-zts-20131226/"    (这里的路径就是上面make install完后显示的路径)

extension=memcache.so

检验memcache安装

php -m

在列表中应该可以找到memcache。

 

 

 

mcperf --linger=0 --timeout=5 --num-conns=100 --conn-rate=0 --num-calls=100 --call-rate=0 --sizes=d31 --method=set --server=195.203.56.36 --port=11211 --verbosity=0 --output=./result.txt

 

Options:

-h, –help : 显示帮助

-V, –version : 显示版本

-v, –verbosity=N : 设置日志级别(默认为5,最小0,最大11)

-o, –output=S : 设置日志文件(默认输出标准错误)

-s, –server=S : 设置需要测试的服务器(默认是本机)

-p, –port=N : 设置需要测试的端口(默认是11211)

-H, –print-histogram :打印响应时间的柱状图

-t, –timeout=X : 设置链接和响应的超时时间(默认是0秒)

-l, –linger=N : 设置TCP连接的断开时间(默认不开启)

-b, –send-buffer=N : 设置socket发送缓冲区大小(默认是4096字节)

-B, –recv-buffer=N : 设置socket接收缓冲区大小(默认是16384字节)

-D, –disable-nodelay : 显示TCP延迟

-m, –method=M : memcached的一些基本操作(例如set、get、add、delete等)

-n, –num-conns=N :设置连接数(默认是1)

-N, –num-calls=N : 设置每一个连接发送的请求数(默认是1)

-r, –conn-rate=R : 设置每秒建立多少个连接(默认是每秒0个连接,每一个连接在上一个连接断开后创建)

-R, –call-rate=R : 设置每秒发送的请求数(默认是每秒0个请求,每一个请求在上一个请求响应后发送)

-z, –sizes=R : 发送存储数据的大小(默认是1个字节)

 

执行结果参数中文解释:

 

Total:显示总的连接数,总的请求数,总的响应数以及测试所花费的时间。

Connection rate:实际每秒的连接数

Connection time:实际每个连接花费的时间(包括连接时间,set时间等)

Connect time:连接所花费的时间(仅仅是连接所用的时间)

Request rate:每秒的请求数

Request size:每个请求的字节大小

Response rate:每秒的响应数

Response size:响应的字节大小

Response time:响应的时间(单位毫秒)

Response type:stored表示存储的数量,not_stored表示没有存储的数量,

exists表示已经存在的数量(add时候用到),not_found表示没有找到的数量(get时候用到)

posted @ 2017-06-05 10:02  W&L  阅读(394)  评论(0)    收藏  举报