3

Couchbase サーバーにあまり負荷がかかっていないにもかかわらず、タイムアウト例外が発生します。

net.spy.memcached.OperationTimeoutException: Timeout waiting for value
        at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1003)
        at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1018)
        at com.eos.cache.CacheClient.get(CacheClient.java:280)
        at com.eos.cache.GenericCacheAccessObject.get(GenericCacheAccessObject.java:55)
...
...
Caused by: net.spy.memcached.internal.CheckedOperationTimeoutException: Timed out waiting for operation - failing node: /192.168.4.12:11210
        at net.spy.memcached.internal.OperationFuture.get(OperationFuture.java:157)
        at net.spy.memcached.internal.GetFuture.get(GetFuture.java:62)
        at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:997)
        ...30 more

これが私がクライアントを作成する方法です。

List<URI> uris = new ArrayList<URI>();
        String[] serverTokens = getServers().split(" ");
        for (int index = 0; index < serverTokens.length; index++) {
            uris.add(new URI(serverTokens[index]));
        }
        CouchbaseConnectionFactoryBuilder ccfb = new CouchbaseConnectionFactoryBuilder();
        ccfb.setProtocol(Protocol.BINARY);
        ccfb.setOpTimeout(10000); // wait up to 10 seconds for an operation to
        // succeed
        ccfb.setOpQueueMaxBlockTime(5000); // wait up to 5 seconds when trying
        // to enqueue an operation
        ccfb.setMaxReconnectDelay(1500);
        CouchbaseConnectionFactory cf = ccfb.buildCouchbaseConnection(uris, bucket, "");
        CouchbaseClient client = new CouchbaseClient(cf);

Web サーバーで永続クライアントのプールを維持しています。また、15 のみに設定されている最大接続制限にも触れていません。Plsはこれを解決するのを手伝ってくれます。

4

0 に答える 0