十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

memcached安装

上一篇 / 下一篇  2009-09-05 12:45:33 / 个人分类:memcache

U%J A1dIs'^7I01、  安装文件准备

Q h;[F6b(QBMi0

%w'JD!D:K/rv01)、Memcache的服务器端程序:当前最新版本号为

s Z?7aCD9WO0

z#gX,UBQF"m[6U0  下载地址:http://www.danga.com/memcached/download.bml

I'VH6tU]051Testing软件测试网GX/\C$yP!w

2)、Memcache的安装先决条件:先安装libevent,当前最新版本号为51Testing软件测试网]q|2Nc@0K

51Testing软件测试网)h4fw*v.k:E1W.OL

  Libevent介绍:libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名的用于apache的php缓存库memcached据说也是libevent based,而且libevent在使用上可以做到跨平台,而且根据libevent官方网站上公布的数据统计,似乎也有着非凡的性能。

tNF5Jn'f#c051Testing软件测试网rg;~S d0H5v\

  下载地址:http://monkey.org/~provos/libevent/

,h*J Q7wh.A#E#s*q051Testing软件测试网k qKV?p-@.s

2、  操作系统要求

wi/E7a Z*L0

S*DE J4Z e(Rc0鉴于我们线上环境和线下的要保持一致,我们都将采用linux。具体的版本号为:

4L7yb9Cz#y[*R7t0

*}L;f z/W0Redhat advance server4 v4,可以使用更高版本(更高版本未经测试

iy^{R0

C/k"h"APu0c0如果是redhat advance server4 v2 ,请保证gcc编译器可以使用,或者升级到v4然后安装gcc编译器。一般升级的方式都是从光盘启动升级过程,升级后安装gcc编译器。默认的v2版本没有安装gcc编译器。51Testing软件测试网A8Z(\8p#]

51Testing软件测试网 v(nYz+_

3、  编译器要求51Testing软件测试网W*C_5[Ez]-o!L

K-V1P5e;y u*o/hW0Memcache的安装文件是要求我们安装gcc编译器的。否则我们的libevent和memcache都无法安装。51Testing软件测试网Jy6N ca g#F(T

z2vX P7\X%C.L0检查是否有gcc编译器的命令:gcc –v51Testing软件测试网&u H+tC#Fo0G^

51Testing软件测试网 `+HAQ\%lrk3]

如果系统的gcc编译器可以用,将会有一段描述,否则提示找不到类库。

K#@ Z W"m;p0I&}f051Testing软件测试网)]ad9T:PC*OV g

成功的例如:51Testing软件测试网P:u^6nQd

51Testing软件测试网x,Dl-lbp|veH

Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.6/specs51Testing软件测试网+kXV[*byD8{

51Testing软件测试网/c-G8a*m,V"s:e;N b

Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux

A9YE wuoT051Testing软件测试网vmtkC]2I EP

Thread model: posix

G W:M2Av#G'S8J051Testing软件测试网'E-v:},f2_D1TSO Bf$N

gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)51Testing软件测试网{].[6e|@/k

51Testing软件测试网0_)d4T5Q]6CHr

4、  安装

%mWj0m$s5FAEl&y:w051Testing软件测试网%o;r%ij%NI*X

 先安装libevent,然后才能安装memcache

Q!s+j#Y3u@ DYK051Testing软件测试网i:L_'F0`d8ek

 1)、libevent安装51Testing软件测试网1uW~2B4O

;|Q_:Wf"L*_0//先解压缩51Testing软件测试网6g Q nMn:` i@N

51Testing软件测试网+R6][.S%|+A2UOt

[root@localhost]#tar -zxvf  libevent-1.4.8-stable.tar.gz51Testing软件测试网ISN-Gc"|e

2m"u)DU,\0//切换到libevent的目录中51Testing软件测试网-x W PSS

51Testing软件测试网x"c*~"x/K

[root@localhost]#cd  libevent-1.4.8-stable51Testing软件测试网&YL d,CGwM

51Testing软件测试网#}VK]){ \-t dpD

//指定安装路径到/usr/目录下51Testing软件测试网qp;m*Dl M`t
[root@localhost]#./configure --prefix=/usr/51Testing软件测试网Ze:V$n [-x

51Testing软件测试网9Yn R3N.Y+@Z!ux

//编译

.n7CtV"ih'\.d0

1AD N5a1f.G0[root@localhost]#make

o2M5D)mrPs@:Hk1U0

!^(?#Xy7q f#Vi0//安装51Testing软件测试网w1dcww3E

Z!Hjp;a3tT0[root@localhost]#.make install

8U;R U0Ao+]$Z051Testing软件测试网yqj m"a$}XH p&r

 51Testing软件测试网7N({GEH

51Testing软件测试网8IALj2iT.R1y,tI

 51Testing软件测试网 NQ2Y |8cz.{

51Testing软件测试网+M6@U0MoF.O$K

 2)、memcache服务器安装

#Z7BT'N;K J9E0

9XV^_0Ua#Pk}Q0//先解压缩memcached-1.2.6.tar.gz

.YZya K*Zp0

NC |8XFKD3Z,]0[root@localhost]#tar -zxvf  memcached-1.2.6.tar.gz51Testing软件测试网/]6Uv_W T:mA&H

6|*v r|'sX!Y4I0//切换到memcache的目录中

i8^QTN(X5l0

o%F BAKd0[root@localhost]#cd  memcached-1.2.6

et1t-@0y_ \2bX0

Z;T,[%AA1~Q5y1my0//指定安装路径到/usr/local/server/memcache目录下,同时指定libevent的安装位置
E"d"c MG7E0[root@localhost]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/51Testing软件测试网z J*B _n#i({

C)OB sE6i.G0//编译51Testing软件测试网g WWo V y

51Testing软件测试网C}Q!b2M

[root@localhost]#make51Testing软件测试网2[R~.s~.e6G

51Testing软件测试网K*G+KL B(H? sL'O

//安装

(fm OL-\0

!e*n,B_$F[w.B0[root@localhost]#.make install

q@#PVb8t$Q051Testing软件测试网!Z;A'Qx0d

 测试每步是否安装成功:

IP Zc&ZPQ0

hS"N$X;b0   测试libevent:51Testing软件测试网,R%PO+\I"wZ Uo

51Testing软件测试网xP-p zj4O JTtK

   [root@localhost]# ls /usr/lib |grep libevent51Testing软件测试网lZX8C"v'x _ O

51Testing软件测试网L9rL&\El1X{;T$_

libevent-1.4.so.251Testing软件测试网^,zV6i%Nz*mH

51Testing软件测试网E~Us;C*_6^1q

libevent-1.4.so.2.1.151Testing软件测试网 F xhsT&C!\t)k.V

"VC6jwx5IwZ0libevent.a

].a/L~;^,cb]1s w051Testing软件测试网RG N8] s3R-^g f;L$O

libevent.la

^FclF3CS5k0

i P%fy(Yd qt0libevent.so

Y@^}+w#}051Testing软件测试网0Nr5r*Y TS

libevent_core-1.4.so.2

;`s dj)F RhPQ0

2` [bDJ,G\Es0libevent_core-1.4.so.2.1.151Testing软件测试网^k+mP(hF e

51Testing软件测试网f1}&I t%Ya l)b

libevent_core.a51Testing软件测试网'iX;d e`U*s,e

51Testing软件测试网8tlh5Y6M6X D3O8X

libevent_core.la51Testing软件测试网u4V {:[5}i,j2N

51Testing软件测试网zd;B$]IBo

libevent_core.so

o&}'~!R-e2|0

#`7kF.f:N1iAKu?r0libevent_extra-1.4.so.251Testing软件测试网!U d;[*G.u3a-T8l

51Testing软件测试网8oEM;su4\f

libevent_extra-1.4.so.2.1.151Testing软件测试网Y|h2?z"W*^Sq@

51Testing软件测试网F@_k"AB)_

libevent_extra.a51Testing软件测试网a#JBG$b7U,a8P

51Testing软件测试网a^b%j)NHl2T

libevent_extra.la

r4J.KdV5W }051Testing软件测试网#Z r7XL1M?#W?

libevent_extra.so51Testing软件测试网8Z;B |/Dkxp

51Testing软件测试网:fo3S2|-U:lG D)C

  测试memcache:

6?5K1pD~|0\ON0

"Pjr:D I0c\dg0[root@localhost]# ls -al /usr/local/memcached/bin51Testing软件测试网-Tb*YR h#m%?8L

u!_S;nW(|3`0total 264

@T)gUk/Q8dOu @051Testing软件测试网 cJ8\%j'LJ:B7|6O

drwxr-xr-x  2 root root   4096 Sep 19 15:31 .

B;J(v3h&y8E051Testing软件测试网#U![8Hr V

drwxr-xr-x  4 root root   4096 Sep 19 15:31 ..

1}ma-tY:X051Testing软件测试网B?B g4BhS

-rwxr-xr-x  1 root root 120949 Sep 19 15:31 memcached51Testing软件测试网&G4I;Wdz

51Testing软件测试网)^ F"MBh.Z

-rwxr-xr-x  1 root root 129947 Sep 19 15:31 memcached-debug51Testing软件测试网QV\*l E

iL nS6E1A"hY*Kk _4]V1P05、  启动memcache

|@%@2hbEX)Q2c:U051Testing软件测试网.usx3`C

1)、启动Memcache的服务器端:

4~,^?&|P%RA0

)K v&\3Y ZH[0[root@localhost]# /usr/local/bin/memcached -d -m 100 -u root -l 192.168.36.200 -p 11211 -c 256 -P /tmp/memcached.pid 51Testing软件测试网g W1RX&yX#M!b

3Rnp;O;]WqBu0# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid

(z3a;Y'og/_!}051Testing软件测试网Gto8rm p1pq1wf

51Testing软件测试网(P8_t,em
    -d选项是启动一个守护进程,
7w'nWg;\&]8f5Yl0    -m是分配给Memcache使用的内存数量,单位是MB,我这里是100MB,
#B2o%s }(b,`#Q0    -u是运行Memcache的用户,我这里是root,51Testing软件测试网|iC,j2b;T
    -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.36.200,
I7p#]\Mgy'g+q0    -p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,我们这里统一使用11211
$Q,D:w,oo|0    -c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定。51Testing软件测试网/[/y#`4p#XZ0`"] L
    -P是设置保存Memcache的pid文件,我这里是保存在/tmp/memcached.pid,

#A E9y xO$k051Testing软件测试网Q0j3K }#J D _A@-H

2)、如果要结束Memcache进程,执行:

,}/jD%@#?;q.B051Testing软件测试网0gt!o%}w/] o

[root@localhost]# kill cat /tmp/memcached.pid

8aNt6H C'lZ051Testing软件测试网OA6WK$If

6、  监测是否启动成功方式51Testing软件测试网Z^JIFL5a? kL

51Testing软件测试网KT\5P)Px

我们可以使用telnet来对我们的memcache服务器进行访问51Testing软件测试网t:g!MBa!H1[ lw

{4L"g G1_s0例如:telnet 192.168.36.199 11211 (访问的是192.168.36.199这个ip的11211端口)51Testing软件测试网"D A{8U4w7|$X

51Testing软件测试网a*EKx7^L

连接上后,直接敲击stats命令看当前缓存服务器状态

'n1LvVt9v:[ n0

N#NWj,b jN07、  设定memcache的telnet访问限制

vSn-\$v ^051Testing软件测试网3F-V\'gv+C8eg-z

请限定telnet的访问,使之只能在中转机上访问51Testing软件测试网 R&m'[5]3}

.q.P#C(V0p)S*j08、  memcache的常见概念51Testing软件测试网 ia@v!T!qq'y

3Z5p'Ex C/Rk2H0memcached会预先分配内存,memcached分配内存方式称之为allocator,首先,这里有3个概念:51Testing软件测试网x~&ZHF y#i
1 slab
L7X+P"^wt j c A c02 page51Testing软件测试网2o.Q m0w"NiQ C{K
3 chunk
)M5? ko7L NJ9f0解释一下,一般来说一个memcahced进程会预先将自己划分为若干个slab,每个slab下又有若干个page,每个page下又有多个chunk,如果我们把这3个咚咚看作是object得话,这是两个一对多得关系。再一般来说,slab得数量是有限得,几个,十几个,或者几十个,这个跟进程配置得内存有关。而每个slab下得page默认情况是1m,也就是说如果一个slab占用100m得内存得话,那么默认情况下这个slab所拥有得page得个数就是100,而chunk就是我们得数据存放得最终地方。51Testing软件测试网Fy:@uKYo0r.W'X

aQ2s Q Y/e/H09、  Memcache的常用命令51Testing软件测试网0e/zB;X:|Xwl

51Testing软件测试网 |6b%X p vH

 Memcache常见的命令都在协议文件上:安装文件的的doc目录下的protocol.txt文件中有详细说明

&^Q7E+M6i-v"~051Testing软件测试网+|A\3Oo2S6}D

 1)、查询状态命令:stats:51Testing软件测试网4F:[ W`.hQA4_%B

51Testing软件测试网5tY]R,Hw

    Name              Type     Meaning

7i3EI ZnRN0

v8O:D^(N2v0----------------------------------

%D5{;{G!S |i[,@0

6M J9K$ZwRl0pid               32u      Process id of this server process

g*q5p:i*y0

;@ bPj[X}0uptime            32u      Number of seconds this server has been running

4la,Dxni}051Testing软件测试网+d/HvW.o/[

time              32u      current UNIX time according to the server51Testing软件测试网I^ {RH U

t [C4J w7]1Mr%q0version           string   Version string of this server51Testing软件测试网2o"y;V;T0ZD%y}_ J

51Testing软件测试网P6h3yHS/fu-G%B5_

pointer_size      32       Default size of pointers on the host OS51Testing软件测试网.\LO'UB.zVd%a"i

p IYB^rd$|0                           (generally 32 or 64)

{ljdkOK m$k0

zj*m~ka0rusage_user       32u:32u  Accumulated user time for this process51Testing软件测试网"^r(g-O0`

S#w^`PF$anV0                           (seconds:microseconds)51Testing软件测试网ST'm'V-h+c1],l

^o!SJ `BJ0rusage_system     32u:32u  Accumulated system time for this process

&b@2^ hA9U0

\` Yan*V${k6j0                           (seconds:microseconds)

hB,o \$r US4b!s5Q051Testing软件测试网eG%U%Zrgy cLUutJ

curr_items        32u      Current number of items stored by the server51Testing软件测试网_M)p5E4@(l8vd

51Testing软件测试网T"?4I{?h)?4p

total_items       32u      Total number of items stored by this server

W(CU ^"sT0

-PO@?-cV,NL0                           ever since it started

&VD v"`5jFc0

:[2sU4@$H;D \8F0bytes             64u      Current number of bytes used by this server51Testing软件测试网*Y'j|+Dniqsk:Y Q

r:C-C!Z-y}0                           to store items

Ah tkE?051Testing软件测试网9_m*W@)l P

curr_connections  32u      Number of open connections

#O{&cfW1rp051Testing软件测试网Ix6NuK"F:W-{z%[

total_connections 32u      Total number of connections opened since51Testing软件测试网us9M3k(g J afw9U

h _+vq3H ~0                           the server started running

0m_[7w$n051Testing软件测试网 {!qd-e px+Sq.U

connection_structures 32u  Number of connection structures allocated

&D:SaI|Kb'W6\0

R"{9@0C^c,v&F0                           by the server

4l:O T*tI(|W0

"GWK#UnY,`Af zf0cmd_get           64u      Cumulative number of retrieval requests

asov1e2__'N051Testing软件测试网'QY0a,RQI0jX

cmd_set           64u      Cumulative number of storage requests51Testing软件测试网8c q@Sm L_z

s6|"k}y0get_hits          64u      Number of keys that have been requested and51Testing软件测试网V*H8^5n;R{~

51Testing软件测试网qilb+s+qs

                           found present

'y*X.R$B:SMK[0

;~K^aw"M{0get_misses        64u      Number of items that have been requested

H^Of.QP051Testing软件测试网G0t1NW|0QAi

                           and not found

!}?4E%Mt e)I0

+b+s D {+KW)@0evictions         64u      Number of valid items removed from cache                                                                          

&b.lF\a051Testing软件测试网(^?*Q#kT2e5k3M

                           to free memory for new items                                                                                      51Testing软件测试网3F W0KL-t)q

51Testing软件测试网}b6HF oZ%H&Qd

bytes_read        64u      Total number of bytes read by this server51Testing软件测试网oangev/R

.S0O:nO3mv0                           from network51Testing软件测试网/i| Ym:xPnc

1{MEbu*F d0bytes_written     64u      Total number of bytes sent by this server to51Testing软件测试网|.C&GgW

51Testing软件测试网9\"J?v#^i

                           network

AYEN*_4f051Testing软件测试网-c3NGC @N

limit_maxbytes    32u      Number of bytes this server is allowed to

r]S8Kx051Testing软件测试网^9z`:s)N UA

                           use for storage.51Testing软件测试网} bF,T?2g+FY

51Testing软件测试网 y"H*[ X.V

threads           32u      Number of worker threads requested.

5Q9pK Mk X0

4P+n D o,YyCrH0                           (see doc/threads.txt)

6`b$Y2Zf?s051Testing软件测试网-]U P%xu(c?#D,g

2)、查询版本号 version51Testing软件测试网l/eH_5Y*y^$e

51Testing软件测试网2E1j+g eA"z&D

3)、退出命令 quit51Testing软件测试网+{Xyi1cz`

T/o~#fWD6@u04)、显示各个slab的信息,包括chunk的大小、数目、使用情况等:stats slabs5)、显示各个slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数):stats items51Testing软件测试网F/Fv1} `(LJiv-G6u
6)、显示内存分配:stats malloc51Testing软件测试网1F pTb(d$}2S1S

51Testing软件测试网#}'h*pu0mhd

7)、清空缓存数据(其实是将所有缓存数据标记为过期):flush_all

[u.gM7`0

TAG: memcached

 

评分:0

我来说两句

Open Toolbar