Ковыряю Redis. Решил поиграться с конфигом и посмотреть, как там с разницей между подключением через юникс-сокет и хост:порт. Собственно такой вот простой бенчмарк, взято вроде как со швабры или откуда там:
<?php
try {
$redis = new Redis();
$redis->connect('localhost:6379');
} catch(RedisException $e) {
exit('Connect error');
}
$benchmark = microtime(true);
for($i=0;$i < 100000; $i++)
$redis->set('key','value');
echo microtime(true) - $benchmark;
?>
На своей виртулалке с 1 ядром 2,4 ГГц и 512М рамы получил результаты порядка 4,0-4,5 с (в среднем 4,2 с). Поменяв
$redis->connect('localhost:6379');
на
$redis->connect('/var/run/redis/redis.sock');
получил ~2.5 с. Вот такая ***ня малята, использование сокета более чем в полтора раза повышает производительность. Сразу полез в документацию по мускулю - он естественно тоже умеет сокет (а везде пишут хост:порт - оно то правильно, потому что база может находится не только на локальном хосте), но почему-то НИГДЕ не пишут, что если все находится локально, то лучше использовать сокет. Щас думаю погуглить бенчмарки для mysql и сравнить результаты там.