Тест скорости Memcached VS Redis

FreeBSD, Core2Duo 3Ghz. Сервер под небольшой нагрузкой, мемкаш используется (и в нем куча данных) так-что у редиса должна быть фора…

PHP 5.3.3

Библиотеки:

phpredis, memcache

100 000 случайных записей

Memcached 100 000 random sets: 4.5468878746033

Redis 100 000 random sets: 6.2901890277863

100 000 чтений одного ключа

Memcached 100 000 gets: 4.1142840385437

Redis 100 000 gets: 5.2948369979858

Позже протестирую другие библиотеки редиса, может это в конкретной реализации дело. Но она у них в вики значится как рекомендуемая.

Этот тест меня еще раз убедил в том что — доверяй но проверяй :)

Сам тест, наваял буквально за несколько минут:

$memcache_obj = memcache_connect('localhost', 11211);
$redis = new Redis();
$redis->connect('localhost',6379);

function set_memcache($k,$v)
{
    global $memcache_obj;
    memcache_set($memcache_obj,$k,$v,0,10);
}
function get_memcache($k)
{
    global $memcache_obj;
    memcache_get($memcache_obj,$k);
}
function set_redis($k,$v)
{
    global $redis;
    $redis->set($k, $v);
}
function get_redis($k)
{
    global $redis;
    $redis->get($k);
}


$before=microtime(true);
for ($i = 1; $i <= 100000; $i++) {
    set_memcache(md5(rand()),md5(rand()));
}
print 'Memcached 100 000 random sets: '.(microtime(true)-$before)."\n";

$before2=microtime(true);
for ($i = 1; $i <= 100000; $i++) {
    set_redis(md5(rand()),md5(rand()));
}
print 'Redis 100 000 random sets: '.(microtime(true)-$before2)."\n";

$key=md5(rand());


$before3=microtime(true);
set_memcache($key,md5(rand()));
for ($i = 1; $i <= 100000; $i++) {
    get_memcache($key);
}
print 'Memcached 100 000 gets: '.(microtime(true)-$before3)."\n";

$before4=microtime(true);

set_redis($key,md5(rand()));
for ($i = 1; $i <= 100000; $i++) {
    get_redis($key);
}
print 'Redis 100 000 gets: '.(microtime(true)-$before4)."\n";

Update спустя пару часов:
Нашел аналогичные моим результаты, только там еще больше клиентов участвуют.

http://www.ezwebsitemonitoring.com/blog/php-benchmark-memcached-with-pecl-memcache-php-memcached-redis-with-predis-rediska

This entry was posted in High load and tagged , . Bookmark the permalink.

3 Responses to Тест скорости Memcached VS Redis

  1. MechanisM says:

    исправьте в заголовке VC на VS =)

  2. Pingback: Redis, что такое и с чем его есть? | Степан Орда

Добавить комментарий