redis + gevent - Schlechte Leistung - was mache ich falsch?
Ich habe gerade einen einfachen Code zum Testen von Redis + gevent geschrieben, um zu sehen, wie Async die Leistung verbessert, und ich war überrascht, eine schlechte Leistung zu finden. Hier ist mein Code. Wenn Sie die ersten beiden Zeilen loswerden, um diesen Code zu patchen, sehen Sie das Timing für die "normale Ausführung".
Auf einer Ubuntu 12.04 LTS VM sehe ich ein Timing von
ohne Affenpflaster - 54 Sekunden Mit Affenpflaster - 61 Sekunden
Stimmt etwas mit meinem Code / Ansatz nicht? Gibt es hier eine Perfektion?
#!/usr/bin/python
from gevent import monkey
monkey.patch_all()
import timeit
import redis
from redis.connection import UnixDomainSocketConnection
def UxDomainSocket():
pool = redis.ConnectionPool(connection_class=UnixDomainSocketConnection, path = '/var/redis/redis.sock')
r = redis.Redis(connection_pool = pool)
r.set("testsocket", 1)
for i in range(100):
r.incr('testsocket', 10)
r.get('testsocket')
r.delete('testsocket')
print timeit.Timer(stmt='UxDomainSocket()',
setup='from __main__ import UxDomainSocket').timeit(number=1000)