nfhu / xmemcached

Automatically exported from code.google.com/p/xmemcached
Apache License 2.0
0 stars 0 forks source link

在使用xmemcached放数据到TT时,数据量比较大时常会报timeout(1000)的错误 #108

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
由于之前使用的版本不能放数据到TC数据库里,而且效率也不
怎么好,打算换XM来替代,但测试时,我需要放入大约70万的�
��据到TC里去,运行时,速度确实比之前用的快不少,但时常�
��报,
Exception in thread "main" java.util.concurrent.TimeoutException: Timed 
out(1000) waiting for operation
        at net.rubyeye.xmemcached.XMemcachedClient.latchWait(XMemcachedClient.java:2230)
        at net.rubyeye.xmemcached.XMemcachedClient.sendStoreCommand(XMemcachedClient.java:2213)
        at net.rubyeye.xmemcached.XMemcachedClient.set(XMemcachedClient.java:1160)
        at net.rubyeye.xmemcached.XMemcachedClient.set(XMemcachedClient.java:1218)
        at net.rubyeye.xmemcached.XMemcachedClient.set(XMemcachedClient.java:1205)
        at MClient.buildOvertimeCache(MClient.java:118)
        at MClient.main(MClient.java:23)
我的spring的配置文件
<bean name="memcachedClient" 
class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean"
destroy-method="shutdown">
        <property name="servers">
            <value>127.0.0.1:11211</value>
        </property>
    </bean>
而且有个问题,我发现运行完毕,程序不会退出的?

Original issue reported on code.google.com by y.a.li.y...@gmail.com on 2 Jan 2011 at 3:56

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
请花点时间看下FAQ吧。这主要是因为xmc的操作都是异步的,��
�步等待有个超时时间,默认的1秒在高并发或者存取大数据的
时候通常是不够的。

http://code.google.com/p/xmemcached/wiki/FAQ

http://www.blogjava.net/killme2008/archive/2010/07/08/325564.html

Original comment by killme2...@gmail.com on 2 Jan 2011 at 4:27

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
可以的,通过p命名空间
一定要shutdown才可以退出。

Original comment by killme2...@gmail.com on 2 Jan 2011 at 4:44

GoogleCodeExporter commented 9 years ago
请问,这个一定要shutdown在struts的web端又是如何控制的呢,我
调用完毕也得调用shutdown?

Original comment by y.a.li.y...@gmail.com on 2 Jan 2011 at 4:50

GoogleCodeExporter commented 9 years ago
Xmemcached应该作为一个全局单例存在,生命周期交给spring管理�
��。

Original comment by killme2...@gmail.com on 4 Jan 2011 at 1:27

GoogleCodeExporter commented 9 years ago

Original comment by killme2...@gmail.com on 4 Jan 2011 at 6:19

GoogleCodeExporter commented 9 years ago
我也遇到类似的问题,而且当抛出这个timeout异常之后,后续�
��memcache的操作都会失败,memcached服务器是好的,重启应用就�
��了。感觉是客户端跟服务端的这个链接,在出现timeout异常��
�后,就不可用了,需要重新建立连接。盼复。

Original comment by hallyw...@gmail.com on 29 Mar 2012 at 7:41

GoogleCodeExporter commented 9 years ago
我也碰到类似的问题,而且在大量包timeout之后还会引起堆内�
��溢出,导致应用死掉

Original comment by jjshan...@gmail.com on 8 Jun 2012 at 9:59

GoogleCodeExporter commented 9 years ago
我也是经常出现这种情况 
尤其是并发比较大的时候。一开始我觉得是不是由于一次数��
�太大的缘故,但是我序列化以后查看大小 
一般都在1-2KB左右应该不算大吧。设置50000毫秒 
都会timeout,时间一长就会出现Xmemcached client is 
closed的错误。这是为什么呢?

Original comment by zhoulei9...@gmail.com on 5 Sep 2012 at 6:33