title: Redis Connection Timeout :Protocol error from client:
body: <p>We are performing Set Operations on Redis to extract and filter data for targeting. The sets are namely represented in the following manner</p>
  
  <pre><code>fruits={'orange','lemon','apple'}
  vegetables={'tomato'}
  citric={'orange','lemon','tomato'}
  </code></pre>
  
  <p>We are using the Jedis client to do SUNION and SINTER,  howerver what we have observed that evening with a concurrency of 100 the Redis Service returns time outs even with simple opration like
  SMEMBERS
  The set contains not more than 7 items </p>
  
  <pre><code>jedisPoolConfig = new JedisPoolConfig();
  jedisPoolConfig.maxActive = 1000;//Arguably High
  jedisPoolConfig.minIdle = 300;//Arguably High
  jedisPoolConfig.maxIdle = 500; //Arguably High
  jedisPool = new JedisPool(jedisPoolConfig, "localhost", 6379, 1000);
  jedis = jedisPool.getResource();
  availableAds = new ArrayList&lt;String&gt;( jedis.smembers("fruits"));
  jedisPool.returnResource(jedis);
  </code></pre>
  
  <h1>Java Exception</h1>
  
  <blockquote>
    <p>redis.clients.jedis.exceptions.JedisConnectionException :  It seems
    like server has closed the connection.</p>
  </blockquote>
  
  <h1>Redis Error Log</h1>
  
  <blockquote>
    <p>Protocol error from client: addr=x.x.x.x:xxxx fd=270 idle=0 flags=N
    db=0 sub=0 psub=0 qbuf=96 obl=47 oll=0 events=rw cmd=smembers</p>
    
    <p>The test was run on Amazon EC2 Medium Instance (C1.medium) and the
    servlet was testing with blitz.io as the load testing tool</p>
  </blockquote>