`
uniseraph
  • 浏览: 83570 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

令人振奋的结果:memcached 访问速度达到66000TPS

阅读更多
今天找了两台服务器进行Memcached Client java的测试,其中
服务器为:
CPU:2* Socket Designation: CPU1  Version: Intel(R) Xeon(R) CPU   E5320  @ 1.86GHz
内存:8G

起8个线程,运行memcached-1.2.6


客户端为:
CPU: 2* Socket Designation: CPU1
        Version: Intel(R) Xeon(R) CPU           E5310  @ 1.60GHz
内存:8G

jdk1.6

代码分支:https://commons-client.googlecode.com/svn/trunk
版本:144


测试多次以后发现,最高达到:66000TPS,基本稳定在61000TPS

分享到:
评论
45 楼 uniseraph 2008-11-05  
sdh5724 写道

可以借用你的代码继续开发么? 我想在周边做些实验, 估计要比较大的改动代码. 可以么? 行的话, PM我下. 因为我这样可以节省时间网络/协议的代码.



当然可以,呵呵。
44 楼 sdh5724 2008-11-04  
可以借用你的代码继续开发么? 我想在周边做些实验, 估计要比较大的改动代码. 可以么? 行的话, PM我下. 因为我这样可以节省时间网络/协议的代码.
43 楼 uniseraph 2008-11-03  
明天再发官方客户端的测试报告
42 楼 uniseraph 2008-11-03  
客户端:T61,2g  ,ubuntu-8.04 , Intel(R) Core(TM)2 Duo CPU     T7100  @ 1.80GHz
服务端:CPU 2* Socket Designation: CPU1
        Version: Intel(R) Xeon(R) CPU           E5310  @ 1.60GHz
       8G 内存
测试结果:

uniseraph@uniseraph-laptop:~/mywork/commons-client$ ant run -Dthread=50 && ant run -Dthread=100 && ant run -Dthread=150
Buildfile: build.xml

run:
     [java]  INFO [main] (Test.java:139) - thread num=50, repeat=10000,size=2, all=1000000 ,velocity=23527 , using time:42503

BUILD SUCCESSFUL
Total time: 48 seconds
Buildfile: build.xml

run:
   [delete] Deleting directory /home/uniseraph/mywork/commons-client/logs
     [java]  INFO [main] (Test.java:139) - thread num=100, repeat=10000,size=2, all=2000000 ,velocity=25591 , using time:78152

BUILD SUCCESSFUL
Total time: 1 minute 24 seconds
Buildfile: build.xml

run:
   [delete] Deleting directory /home/uniseraph/mywork/commons-client/logs
     [java]  INFO [main] (Test.java:139) - thread num=150, repeat=10000,size=2, all=3000000 ,velocity=28091 , using time:106793

BUILD SUCCESSFUL
Total time: 1 minute 52 seconds
41 楼 uniseraph 2008-11-03  
测试结果:
[zhengtao.wuzt@rh44server commons-client]$ ant run -Dthread=50 && ant run  -Dthread=100 && ant run -Dthread=200 && ant run -Dthread=300 && ant run -Dthread=400
Buildfile: build.xml

run:
   [delete] Deleting directory /home/zhengtao.wuzt/work/commons-client/logs
     [java]  INFO [main] (Test.java:139) - thread num=50, repeat=10000,size=8, all=1000000 ,velocity=47229 , using time:21173

BUILD SUCCESSFUL
Total time: 21 seconds
Buildfile: build.xml

run:
   [delete] Deleting directory /home/zhengtao.wuzt/work/commons-client/logs
     [java]  INFO [main] (Test.java:139) - thread num=100, repeat=10000,size=8, all=2000000 ,velocity=52649 , using time:37987

BUILD SUCCESSFUL
Total time: 38 seconds
Buildfile: build.xml

run:
   [delete] Deleting directory /home/zhengtao.wuzt/work/commons-client/logs
     [java]  INFO [main] (Test.java:139) - thread num=200, repeat=10000,size=8, all=4000000 ,velocity=59557 , using time:67162

BUILD SUCCESSFUL
Total time: 1 minute 7 seconds
Buildfile: build.xml

run:
   [delete] Deleting directory /home/zhengtao.wuzt/work/commons-client/logs
     [java]  INFO [main] (Test.java:139) - thread num=300, repeat=10000,size=8, all=6000000 ,velocity=62657 , using time:95758

BUILD SUCCESSFUL
Total time: 1 minute 36 seconds
Buildfile: build.xml

run:
   [delete] Deleting directory /home/zhengtao.wuzt/work/commons-client/logs
     [java]  INFO [main] (Test.java:139) - thread num=400, repeat=10000,size=8, all=8000000 ,velocity=64883 , using time:123298

BUILD SUCCESSFUL
Total time: 2 minutes 3 seconds


硬件:
CPU:2* Socket Designation: CPU1  Version: Intel(R) Xeon(R) CPU   E5320  @ 1.86GHz
内存:8G
40 楼 uniseraph 2008-11-03  
uniseraph 写道
今天找了两台服务器进行Memcached Client java的测试,其中
服务器为:
CPU:2* Socket Designation: CPU1  Version: Intel(R) Xeon(R) CPU   E5320  @ 1.86GHz
内存:8G

起8个线程,运行memcached-1.2.6


客户端为:
CPU: 2* Socket Designation: CPU1
        Version: Intel(R) Xeon(R) CPU           E5310  @ 1.60GHz
内存:8G

jdk1.6

代码分支:https://commons-client.googlecode.com/svn/trunk
版本:144


测试多次以后发现,最高达到:66000TPS,基本稳定在61000TPS



刚才发现dev分支最新版本比144版本的性能差25%不知道哪儿改出问题了,呵呵。查一下,然后拿spymemcached做一把对比测试。
39 楼 sdh5724 2008-11-03  
uniseraph, 你的代码的性能差异基本在垃圾收集上, 也就是说, 你设计产生了过多的临时对象, 如果你能改善下, 基本还是跟spymemcached有的一比的, 甚至要超过。因为整个协议的分析,包括写数据都是很简单, 那么临时创建对象的结果就导致性能稍微有点下降, 在多线程下, 差异很容易被放大。
38 楼 yeshucheng 2008-11-03  
LZ有人帮你辛苦了,呵呵。所以大伙关心的数据也就看到了!
37 楼 raymond2006k 2008-11-02  
引用

测试类在那儿?


我那条回复的附件中啊。
36 楼 raymond2006k 2008-11-02  
引用

有点事情要出去一下,先说一下分析结果,比较仓促,不一定对。

commons-client 在windows和linux下性能相差比较大,怀疑和不同thread操作系统下的实现相关,明天我回公司做一下测试。

spymemcached的set方法是异步的,他没有等待返回结果,所以比同步的get方法快,有点不公平,呵呵。

spymemcached用了一些spy的底层实现,而且不是开源的,不好分析,头痛,明天具体测一下好了。



只是希望对你的开源项目有所帮助。另外你的代码里
start 参数, cdl 参数 似乎只看到传入,没看到使用,这是我的一点疑问,请赐教,呵呵。

你说的有道理。今天是在家里本本上 windows+ubuntu 测试的。
明天回公司再全用linux测测。 其实 spymemcache 的 MemcacheClient类也有点问题,比较原始,像一个connection,需要再做pool化才行,50个thread时,由于量大,已经 内存暴了,加大到 160m才行 ; 好像 javaeye 的 wenchu 已经对 whalin 做了封装,明天我测测whalin 。

另外,我觉得测压力,thread 到一定值就可以了,一般服务器系统thread pool到一定数值就可以了,有pool就可以应付高并发了, 只要用非阻塞io就能保证性能。 大系统主要看memcached 对海量数据的处理能力,如集群时的性能和可靠性。


因为最近要选型,几种client 都要用用才行,最后会选一种。
35 楼 uniseraph 2008-11-02  
raymond2006k 写道

我花了点时间对 spmemcache 和 楼主的 commons-client 做了一下测试。测试代码采用楼主的源码中的测试代码写法。

主要变量:线程数thread,最大值repeat。
我略微修改了一下楼主的MemcacheClient中的 测试代码, 将 write,read分开。

key,value策略: key,value 相同,1 - repeat , 其中repeat是最大值

(测试环境:
硬件:机器: 酷睿T2350,1.86G双核,2G内存。
系统1:XP,运行memcached客户端测试。 测试程序,JDK1.6.0_10, -Xmx=160m
系统2:Ubuntu 8.0.4,运行于VMWare虚拟机中。memcached 1.2.6 + libevent 1.3, memcached 进程 1个,32M内存,最大256并发连接
)
引用
1  spymemcache测试结果

1线程
write test:thread num=1, repeat=10000,size=1, all=10000 ,velocity=21367 , using time:468
read test: thread num=1, repeat=10000,size=1, all=10000 ,velocity=3516 , using time:2844

10线程
write test:thread num=10, repeat=10000,size=1, all=100000 ,velocity=14712 , using time:6797
read test: thread num=10, repeat=10000,size=1, all=100000 ,velocity=5258 , using time:19016

50线程
write test:thread num=50, repeat=10000,size=1, all=500000 ,velocity=8355 , using time:59844
read test: thread num=50, repeat=10000,size=1, all=500000 ,velocity=5631 , using time:88781


2 commons-client测试结果

1线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=1, repeat=10000,size=1, all=10000 ,velocity=2806 , using time:3563
INFO [main] (MemcachedClient.java:309) - read test: thread num=1, repeat=10000,size=1, all=10000 ,velocity=3351 , using time:2984

10线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=10, repeat=10000,size=1, all=100000 ,velocity=5855 , using time:17078
INFO [main] (MemcachedClient.java:309) - read test: thread num=10, repeat=10000,size=1, all=100000 ,velocity=4815 , using time:20765

50线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=50, repeat=10000,size=1, all=500000 ,velocity=5856 , using time:85375
INFO [main] (MemcachedClient.java:309) - read test: thread num=50, repeat=10000,size=1, all=500000 ,velocity=5612 , using time:89094

测试结果可能没楼主的TPS大,只反映我机器上的结果。主要是有同样的测试基准才好对比。

从测试结果看spymemcached的 velocity反映较好一些。spymemcache client, commons-client都 用了nio。
其中read性能表现较低,不知为什么?

我将测试类附上,楼主可以分析一下结果。或者也对 spymemcache做做测试。


有点事情要出去一下,先说一下分析结果,比较仓促,不一定对。

commons-client 在windows和linux下性能相差比较大,怀疑和不同thread操作系统下的实现相关,明天我回公司做一下测试。

spymemcached的set方法是异步的,他没有等待返回结果,所以比同步的get方法快,有点不公平,呵呵。

spymemcached用了一些spy的底层实现,而且不是开源的,不好分析,头痛,明天具体测一下好了。


34 楼 uniseraph 2008-11-02  
raymond2006k 写道

我花了点时间对 spmemcache 和 楼主的 commons-client 做了一下测试。测试代码采用楼主的源码中的测试代码写法。

主要变量:线程数thread,最大值repeat。
我略微修改了一下楼主的MemcacheClient中的 测试代码, 将 write,read分开。

key,value策略: key,value 相同,1 - repeat , 其中repeat是最大值

(测试环境:
硬件:机器: 酷睿T2350,1.86G双核,2G内存。
系统1:XP,运行memcached客户端测试。 测试程序,JDK1.6.0_10, -Xmx=160m
系统2:Ubuntu 8.0.4,运行于VMWare虚拟机中。memcached 1.2.6 + libevent 1.3, memcached 进程 1个,32M内存,最大256并发连接
)
引用
1  spymemcache测试结果

1线程
write test:thread num=1, repeat=10000,size=1, all=10000 ,velocity=21367 , using time:468
read test: thread num=1, repeat=10000,size=1, all=10000 ,velocity=3516 , using time:2844

10线程
write test:thread num=10, repeat=10000,size=1, all=100000 ,velocity=14712 , using time:6797
read test: thread num=10, repeat=10000,size=1, all=100000 ,velocity=5258 , using time:19016

50线程
write test:thread num=50, repeat=10000,size=1, all=500000 ,velocity=8355 , using time:59844
read test: thread num=50, repeat=10000,size=1, all=500000 ,velocity=5631 , using time:88781


2 commons-client测试结果

1线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=1, repeat=10000,size=1, all=10000 ,velocity=2806 , using time:3563
INFO [main] (MemcachedClient.java:309) - read test: thread num=1, repeat=10000,size=1, all=10000 ,velocity=3351 , using time:2984

10线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=10, repeat=10000,size=1, all=100000 ,velocity=5855 , using time:17078
INFO [main] (MemcachedClient.java:309) - read test: thread num=10, repeat=10000,size=1, all=100000 ,velocity=4815 , using time:20765

50线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=50, repeat=10000,size=1, all=500000 ,velocity=5856 , using time:85375
INFO [main] (MemcachedClient.java:309) - read test: thread num=50, repeat=10000,size=1, all=500000 ,velocity=5612 , using time:89094

测试结果可能没楼主的TPS大,只反映我机器上的结果。主要是有同样的测试基准才好对比。

从测试结果看spymemcached的 velocity反映较好一些。spymemcache client, commons-client都 用了nio。
其中read性能表现较低,不知为什么?

我将测试类附上,楼主可以分析一下结果。或者也对 spymemcache做做测试。


测试类在那儿?
33 楼 uniseraph 2008-11-02  
raymond2006k 写道

我花了点时间对 spmemcache 和 楼主的 commons-client 做了一下测试。测试代码采用楼主的源码中的测试代码写法。

主要变量:线程数thread,最大值repeat。
我略微修改了一下楼主的MemcacheClient中的 测试代码, 将 write,read分开。

key,value策略: key,value 相同,1 - repeat , 其中repeat是最大值

(测试环境:
硬件:机器: 酷睿T2350,1.86G双核,2G内存。
系统1:XP,运行memcached客户端测试。 测试程序,JDK1.6.0_10, -Xmx=160m
系统2:Ubuntu 8.0.4,运行于VMWare虚拟机中。memcached 1.2.6 + libevent 1.3, memcached 进程 1个,32M内存,最大256并发连接
)
引用
1  spymemcache测试结果

1线程
write test:thread num=1, repeat=10000,size=1, all=10000 ,velocity=21367 , using time:468
read test: thread num=1, repeat=10000,size=1, all=10000 ,velocity=3516 , using time:2844

10线程
write test:thread num=10, repeat=10000,size=1, all=100000 ,velocity=14712 , using time:6797
read test: thread num=10, repeat=10000,size=1, all=100000 ,velocity=5258 , using time:19016

50线程
write test:thread num=50, repeat=10000,size=1, all=500000 ,velocity=8355 , using time:59844
read test: thread num=50, repeat=10000,size=1, all=500000 ,velocity=5631 , using time:88781


2 commons-client测试结果

1线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=1, repeat=10000,size=1, all=10000 ,velocity=2806 , using time:3563
INFO [main] (MemcachedClient.java:309) - read test: thread num=1, repeat=10000,size=1, all=10000 ,velocity=3351 , using time:2984

10线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=10, repeat=10000,size=1, all=100000 ,velocity=5855 , using time:17078
INFO [main] (MemcachedClient.java:309) - read test: thread num=10, repeat=10000,size=1, all=100000 ,velocity=4815 , using time:20765

50线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=50, repeat=10000,size=1, all=500000 ,velocity=5856 , using time:85375
INFO [main] (MemcachedClient.java:309) - read test: thread num=50, repeat=10000,size=1, all=500000 ,velocity=5612 , using time:89094

测试结果可能没楼主的TPS大,只反映我机器上的结果。主要是有同样的测试基准才好对比。

从测试结果看spymemcached的 velocity反映较好一些。spymemcache client, commons-client都 用了nio。
其中read性能表现较低,不知为什么?

我将测试类附上,楼主可以分析一下结果。或者也对 spymemcache做做测试。


多谢反馈,
raymond2006k 写道

我花了点时间对 spmemcache 和 楼主的 commons-client 做了一下测试。测试代码采用楼主的源码中的测试代码写法。

主要变量:线程数thread,最大值repeat。
我略微修改了一下楼主的MemcacheClient中的 测试代码, 将 write,read分开。

key,value策略: key,value 相同,1 - repeat , 其中repeat是最大值

(测试环境:
硬件:机器: 酷睿T2350,1.86G双核,2G内存。
系统1:XP,运行memcached客户端测试。 测试程序,JDK1.6.0_10, -Xmx=160m
系统2:Ubuntu 8.0.4,运行于VMWare虚拟机中。memcached 1.2.6 + libevent 1.3, memcached 进程 1个,32M内存,最大256并发连接
)
引用
1  spymemcache测试结果

1线程
write test:thread num=1, repeat=10000,size=1, all=10000 ,velocity=21367 , using time:468
read test: thread num=1, repeat=10000,size=1, all=10000 ,velocity=3516 , using time:2844

10线程
write test:thread num=10, repeat=10000,size=1, all=100000 ,velocity=14712 , using time:6797
read test: thread num=10, repeat=10000,size=1, all=100000 ,velocity=5258 , using time:19016

50线程
write test:thread num=50, repeat=10000,size=1, all=500000 ,velocity=8355 , using time:59844
read test: thread num=50, repeat=10000,size=1, all=500000 ,velocity=5631 , using time:88781


2 commons-client测试结果

1线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=1, repeat=10000,size=1, all=10000 ,velocity=2806 , using time:3563
INFO [main] (MemcachedClient.java:309) - read test: thread num=1, repeat=10000,size=1, all=10000 ,velocity=3351 , using time:2984

10线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=10, repeat=10000,size=1, all=100000 ,velocity=5855 , using time:17078
INFO [main] (MemcachedClient.java:309) - read test: thread num=10, repeat=10000,size=1, all=100000 ,velocity=4815 , using time:20765

50线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=50, repeat=10000,size=1, all=500000 ,velocity=5856 , using time:85375
INFO [main] (MemcachedClient.java:309) - read test: thread num=50, repeat=10000,size=1, all=500000 ,velocity=5612 , using time:89094

测试结果可能没楼主的TPS大,只反映我机器上的结果。主要是有同样的测试基准才好对比。

从测试结果看spymemcached的 velocity反映较好一些。spymemcache client, commons-client都 用了nio。
其中read性能表现较低,不知为什么?

我将测试类附上,楼主可以分析一下结果。或者也对 spymemcache做做测试。



多谢反馈,我没有用windows测过,不知道有没有关系。另外你把线程数加到100试试。commons-client比较适合高并发的情况,并发不高反而没有优势。

你测试时候的两个系统是在一台物理机器上么?

spymemcached我没测试过,待会看看。
32 楼 raymond2006k 2008-11-02  
我花了点时间对 spmemcache 和 楼主的 commons-client 做了一下测试。测试代码采用楼主的源码中的测试代码写法。

主要变量:线程数thread,最大值repeat。
我略微修改了一下楼主的MemcacheClient中的 测试代码, 将 write,read分开。

key,value策略: key,value 相同,1 - repeat , 其中repeat是最大值

(测试环境:
硬件:机器: 酷睿T2350,1.86G双核,2G内存。
系统1:XP,运行memcached客户端测试。 测试程序,JDK1.6.0_10, -Xmx=160m
系统2:Ubuntu 8.0.4,运行于VMWare虚拟机中。memcached 1.2.6 + libevent 1.3, memcached 进程 1个,32M内存,最大256并发连接
)

引用

1  spymemcache测试结果

1线程
write test:thread num=1, repeat=10000,size=1, all=10000 ,velocity=21367 , using time:468
read test: thread num=1, repeat=10000,size=1, all=10000 ,velocity=3516 , using time:2844

10线程
write test:thread num=10, repeat=10000,size=1, all=100000 ,velocity=14712 , using time:6797
read test: thread num=10, repeat=10000,size=1, all=100000 ,velocity=5258 , using time:19016

50线程
write test:thread num=50, repeat=10000,size=1, all=500000 ,velocity=8355 , using time:59844
read test: thread num=50, repeat=10000,size=1, all=500000 ,velocity=5631 , using time:88781


2 commons-client测试结果

1线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=1, repeat=10000,size=1, all=10000 ,velocity=2806 , using time:3563
INFO [main] (MemcachedClient.java:309) - read test: thread num=1, repeat=10000,size=1, all=10000 ,velocity=3351 , using time:2984

10线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=10, repeat=10000,size=1, all=100000 ,velocity=5855 , using time:17078
INFO [main] (MemcachedClient.java:309) - read test: thread num=10, repeat=10000,size=1, all=100000 ,velocity=4815 , using time:20765

50线程
INFO [main] (MemcachedClient.java:282) - write test:thread num=50, repeat=10000,size=1, all=500000 ,velocity=5856 , using time:85375
INFO [main] (MemcachedClient.java:309) - read test: thread num=50, repeat=10000,size=1, all=500000 ,velocity=5612 , using time:89094


测试结果可能没楼主的TPS大,只反映我机器上的结果。主要是有同样的测试基准才好对比。

从测试结果看spymemcached的 velocity反映较好一些。spymemcache client, commons-client都 用了nio。
其中read性能表现较低,不知为什么?

我将测试类附上,楼主可以分析一下结果。或者也对 spymemcache做做测试。
31 楼 yeshucheng 2008-11-02  
codeutil 写道
javabean实现Externalizable 接口,自己实现byte转换,就可以不依赖描述信息。
bdb无非也是用bind接口来干同样的事情而已。

sdh5724 写道
最近,我陷入一个郁闷。 就是JAVA的序列化问题。
当你向MEMCACHED直接写序列化的对象的时候, 一个对象完整的描述将会被写进memcached。 那么如果写1000W个对象给memcached, 对象描述将会被写无数次。 序列化描述大小往往远远大于对象的实际数据的, 因此, 我们的内存就被大量这些信息浪费了。 谁解决了这个问题? 我在研究berkleydb java edition的解决方案。 这个问题对于内存节约使用是非常重要的。 我现在4台memcache机器吃了我20G内存, 再涨下去, 就要买机器了。 很不划算啊。



楼上的,看来你确实没有注意到这位朋友说的话。不妨可以一试。而且这位朋友已经实现了,呵呵
30 楼 sdh5724 2008-11-01  
  代码写算是还成吧。 不过, 缺乏考虑多SERVER的平衡, 有些地方我感觉过度设计了。  哈:)
 
29 楼 uniseraph 2008-11-01  
uniseraph 写道

fly_hyp 写道我比较欣赏 uniseraph 的源代码没有一行注释。注释是少了点,不过还是有的,呵呵。不想写中文注释,不利于项目的以后发展,如果写英文注释,会打断思路,所以写得比较少,呵呵。不过我觉得现在的代码结构还是比较清晰的,需要注释的地方应该不多。欢迎指正。



新的改动,可以自由选择maven or ant+ivy 编译/运行测试用例,呵呵。
28 楼 uniseraph 2008-11-01  
fly_hyp 写道

我比较欣赏 uniseraph 的源代码没有一行注释。


注释是少了点,不过还是有的,呵呵。

不想写中文注释,不利于项目的以后发展,如果写英文注释,会打断思路,所以写得比较少,呵呵。

不过我觉得现在的代码结构还是比较清晰的,需要注释的地方应该不多。


欢迎指正。
27 楼 fly_hyp 2008-10-31  
我比较欣赏 uniseraph 的源代码没有一行注释。
26 楼 tiyi 2008-10-31  
转换成byte[] 的思想在网络协议里面非常常见,就是自己要实现数据序列化和反序列化了。不过跳脱sun给的好东西(真的是好又多,方便了,信息量就大了),可以精简很多数据。

相关推荐

    多台tomcat服务的session共享 memcached

    每个Tomcat服务器都可以访问Memcached,从而实现Session共享。这样,用户在不同的服务器之间切换时,Session数据仍然可以保持一致。 使用Memcached实现Session共享的优点是: 1. 提高性能:Memcached可以提高...

    第四十四章:Memcached高性能对象缓存1

    Memcached 是一款高性能、分布式内存对象缓存系统,最初由 LiveJournal 开发团队设计,主要用于缓解数据库负载,提升网站访问速度。它将所有数据存储在内存中,以一个大型哈希表的形式管理,支持各种类型的数据。...

    cacti模板四:memcached监控模板

    **cacti模板四:memcached监控模板** Cacti是一款开源的网络监控和图形化工具,用于收集、处理、存储、聚合并显示网络设备的数据。在这个特定的模板中,我们关注的是对memcached的监控。Memcached是高速、分布式...

    memcached全面剖析.pdf

    memcached 可以将数据存储在内存中,然后将其提供给 Web 应用程序,以减少数据库的访问次数,提高应用程序的速度和效率。 memcached 的特征 memcached 有以下几个特征: * 协议简单:memcached 使用简单的文本...

    Memcached原理和使用详解.docx

    Memcached是一种高性能的分布式内存缓存服务器,主要用于减少数据库查询次数,提高动态Web应用的速度和可扩展性。其开发团队来自LiveJournal,官网为http://www.danga.com/memcached/。 Memcached的主要特点包括: ...

    Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用

    Memcached是Danga Interactive公司开发的一个开源项目,主要用于存储和检索数据,以减少对数据库的访问。它的设计目标是简单、快速和分布式的,采用键值对(key-value)存储模式,支持多线程,并且数据存储在内存中...

    分布式数据库面试专题系列:Memcached+Redis+MongoDB.zip

    它通过存储数据到内存中,实现了快速访问。Memcached支持多语言客户端,采用键值对存储模式,适用于存储小块数据,如网页片段、会话数据等。面试时,可能涉及的问题包括Memcached如何解决缓存一致性、其内存管理机制...

    memcached完全剖析(1-5)整理.docx

    * 内置内存存储方式:memcached使用内置的内存存储方式来存储数据,从而提高了数据的访问速度。 * 不互相通信的分布式:memcached支持分布式缓存,可以将缓存分布在多个服务器上,从而提高了系统的可扩展性和可靠性...

    分布式数据库面试专题系列:Memcached+Redis+MongoDB-06.rar

    在面试中,候选人不仅需要展示他们对这些工具的深入理解,还需要能够分析和解决实际问题,如如何根据业务需求选择合适的数据库,如何设计高效的数据模型,以及如何应对潜在的性能瓶颈和扩展性挑战。

    memcached详解.pdf

    - **内置内存存储方式**:所有数据都存储在内存中,避免了磁盘访问,极大地提升了数据存取的速度。 - **分布式**:memcached的分布式特性意味着每个实例独立工作,不依赖于其他实例的信息,数据分布由客户端自行...

    Memcached的原理及应用

    Memcached 是一种高性能的分布式内存缓存系统,用于减轻数据库负载,加速动态Web应用程序的运行速度,提升可扩展性。它的主要目标是通过缓存数据库查询结果,减少对数据库的直接访问,从而提高响应时间和整体性能。 ...

    Memcached v1.6.12 For Windows(MSYS编译)

    它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过...

    memcached缓存安装配置.pptx

    Memcached 是一个自由开源的高速缓存系统,可以用来加速动态Web应用程序中的数据访问速度。本文将指导您如何安装和配置 Memcached,并介绍 Memcached 的基本概念和参数。 一、安装 Memcached 1. 使用 yum 安装 ...

    Memcached v1.6.15 For Windows(MSYS编译)

    它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过...

    spring整合memcached

    Memcached因其简单高效的特点,常被用来缓存经常访问但不经常改变的数据。Spring提供了一套完整的集成机制,使得开发者能够方便地在Java应用中使用Memcached。 整合步骤通常分为以下几个阶段: 1. **添加依赖**:...

    memcached的细节文档

    - **内置内存存储方式**:memcached将数据存储在内存中,这使得数据访问速度非常快。 - **不互相通信的分布式**:memcached之间不直接通信,每个memcached独立运行,分布式部署可提高系统的扩展性和可用性。 ### ...

    Memcached_In_MemoryFS:Memcached 内存文件系统

    Memcached 在内存文件系统中关于如何挂载文件系统的说明启动 memcached 服务器要运行 memcached 服务器,请运行以下命令: memcached -vvv -p 11212 或者,如果它在远程机器上,请执行以下操作: memcached -vvv -l ...

    缓存memcached-1.2.1

    Memcached是一款高效、轻量级的分布式内存对象缓存系统,广泛应用于Web应用程序中,以减轻数据库负载,提高数据访问速度。在这个版本1.2.1中,我们探讨其核心特性、工作原理以及如何在Windows环境下进行安装和配置。...

    Memcached内存分析、调优、集群.pptx

    Facebook使用了200台 Memcached 服务器,每台服务器具有16GB 四核 AMD64处理器,缓存数据达到3TB。 Memcached使用 Memcached的安装、启动、命令、统计信息: 1. 安装Memcached:使用libevent事件处理机制,...

    Memcached网站应用实战

    Memcached是一个高性能的分布式内存对象缓存系统,主要用于缓解数据库压力,提高动态网页应用的响应速度。它通过在内存中维护一个巨大的hash表来存储各种格式的数据,如图像、视频、文件以及数据库检索结果等。 ###...

Global site tag (gtag.js) - Google Analytics