def testTimeout(self): mc = Memcache() mc.set_servers([((MEMCACHE_IP, 11212), 100)]) self.memcachedPause() def clientTimeout(): with Timeout.push(0.5): self.assertEquals(MemcacheResult.TIMEOUT, mc.set('blaat', 'aap')) def clientError(): with Timeout.push(0.5): self.assertEquals(MemcacheResult.ERROR, mc.set('blaat', 'aap')) # Send some requests for i in xrange(0, 1000): Tasklet.new(clientTimeout)() Tasklet.join_children() with Timeout.push(0.5): self.assertEquals(MemcacheResult.TIMEOUT, mc.set('foo', 'bar')) print 'done (timeout)' self.memcachedResume() self.assertEquals(mc.get('blaat'), 'aap') self.assertEquals(mc.get('foo'), 'bar') self.memcachedPause() # Send some requests for i in xrange(0, 1000): Tasklet.new(clientTimeout)() Tasklet.join_children() self.memcachedKill() # Send some requests expected for i in xrange(0, 1000): Tasklet.new(clientError)() Tasklet.join_children() self.memcachedRun() self.assertEquals(MemcacheResult.STORED, mc.set("bar", "baz")) self.assertEquals(None, mc.get("blaat")) self.assertEquals(None, mc.get("foo")) self.assertEquals("baz", mc.get("bar"))
def testMemcacheMultiServer(self): mc = Memcache() mc.set_servers([((MEMCACHE_IP, 11212), 100), ((MEMCACHE_IP, 11213), 100), ((MEMCACHE_IP, 11214), 100), ((MEMCACHE_IP, 11215), 100)]) N = 10000 keys = ['test%d' % i for i in range(N)] with unittest.timer() as tmr: for i in range(N): self.assertEquals(MemcacheResult.STORED, mc.set(keys[i], 'hello world %d' % i)) print 'multi server single set keys/sec', tmr.sec(N) with unittest.timer() as tmr: for i in range(N): self.assertEquals('hello world %d' % i, mc.get(keys[i])) print 'multi server single get keys/sec', tmr.sec(N) N = 10000 for stride in [10,20,40]: with unittest.timer() as tmr: for i in range(0, N, stride): result, values = mc.get_multi(keys[i:i+stride]) self.assertEquals(MemcacheResult.OK, result) self.assertEquals(stride, len(values)) print 'multi server multi get (%d) keys/sec' % stride, tmr.sec(N)
def testMemcacheMultiServer(self): mc = Memcache() mc.set_servers([ ((MEMCACHE_IP, 11211), 100), ((MEMCACHE_IP, 11212), 100), ((MEMCACHE_IP, 11213), 100), ((MEMCACHE_IP, 11214), 100) ]) N = 10000 keys = ['test%d' % i for i in range(N)] with unittest.timer() as tmr: for i in range(N): self.assertEquals(MemcacheResult.STORED, mc.set(keys[i], 'hello world %d' % i)) print 'multi server single set keys/sec', tmr.sec(N) with unittest.timer() as tmr: for i in range(N): self.assertEquals('hello world %d' % i, mc.get(keys[i])) print 'multi server single get keys/sec', tmr.sec(N) N = 10000 for stride in [10, 20, 40]: with unittest.timer() as tmr: for i in range(0, N, stride): result, values = mc.get_multi(keys[i:i + stride]) self.assertEquals(MemcacheResult.OK, result) self.assertEquals(stride, len(values)) print 'multi server multi get (%d) keys/sec' % stride, tmr.sec(N)