redis + gevent - Плохая производительность - что я делаю не так?

Я только что написал простой фрагмент кода для проверки производительности Redis + gevent, чтобы увидеть, как асинхронность помогает производительности, и я был удивлен, обнаружив низкую производительность. вот мой код. Если вы избавитесь от первых двух строк, чтобы исправить этот код, вы увидите время «нормального выполнения».

На виртуальной машине Ubuntu 12.04 LTS я вижу время

без патча обезьяны — 54 секунды. С патчем для обезьян - 61 секунда

Что-то не так с моим кодом/подходом? Есть ли здесь проблема с производительностью?

#!/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)
21
задан Didier Spezia 18 August 2015 в 20:00
поделиться