Redis + Yii по сокету

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
Аватара пользователя
Gemini_13
Сообщения: 14
Зарегистрирован: 2014.07.02, 11:14

Redis + Yii по сокету

Сообщение Gemini_13 »

Будет ли возможность подключать Redis по сокету так, как это реализовано в Yii2?

Если не разобрался в вопросе, то приношу свои извинения :)
## .. ионный ускоритель на быстром мазуте .. ##
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Redis + Yii по сокету

Сообщение anton44eg »

ЕМНИП в Yii1 нет официального расширения для redis
Есть Predis, Rediska, phpredis (для него нужно ставить C расширение), смотрите какой из них вам лучше подходит
Аватара пользователя
Gemini_13
Сообщения: 14
Зарегистрирован: 2014.07.02, 11:14

Re: Redis + Yii по сокету

Сообщение Gemini_13 »

Причем тут официальное расширение?

Меня интересует использование CRedisCache не через tcp, по сокету.
В классе работы с редисом с Yii2 есть уже подключение по сокету, а для первого нет.
https://github.com/yiisoft/yii2-redis/b ... on.php#L61

UPD:
А, теперь понял к чему про офф. расширение... Но было бы удобно иметь нечто подобное и под Yii 1.x
## .. ионный ускоритель на быстром мазуте .. ##
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Redis + Yii по сокету

Сообщение anton44eg »

Вы бы написали, что вы про кеш
Да, оказывается с версии 1.1.14 его добавили
И работает только по tcp через порт
ИМХО если вам нужен только кеш, то memcached будет быстрее работать чем redis через сокет
Аватара пользователя
Gemini_13
Сообщения: 14
Зарегистрирован: 2014.07.02, 11:14

Re: Redis + Yii по сокету

Сообщение Gemini_13 »

Дело в том, что использование tcp в моем случае не совсем то. Если будет возможность подключения через сокет из коробки, то это будет шикарно.
## .. ионный ускоритель на быстром мазуте .. ##
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Redis + Yii по сокету

Сообщение anton44eg »

а в чем разница для вас?
Аватара пользователя
Gemini_13
Сообщения: 14
Зарегистрирован: 2014.07.02, 11:14

Re: Redis + Yii по сокету

Сообщение Gemini_13 »

много открытых соединений, которые отжирают лишние ресурсы :)
## .. ионный ускоритель на быстром мазуте .. ##
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Redis + Yii по сокету

Сообщение anton44eg »

так а по сокету думаете оно магически без соединения?)
Аватара пользователя
Gemini_13
Сообщения: 14
Зарегистрирован: 2014.07.02, 11:14

Re: Redis + Yii по сокету

Сообщение Gemini_13 »

хм-м.. странный выпад, честно говоря..
а Вы сами работали с по сокету и tcp? сравнивали производительность? поделитесь знаниями?
## .. ионный ускоритель на быстром мазуте .. ##
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Redis + Yii по сокету

Сообщение anton44eg »

Я работаю по tcp порту с редис, но для кеша его не использую. Когда-то давно делал заперы скорости memcached и redis по tcp для кеша, и на запись и на чтение memcached примерно в 2 раза был быстрее
Аватара пользователя
Gemini_13
Сообщения: 14
Зарегистрирован: 2014.07.02, 11:14

Re: Redis + Yii по сокету

Сообщение Gemini_13 »

вопрос немного иначе звучал, перефразирую :)
у Вас есть опыт работы с тем же редисом по сокету и tcp? Вы можете объяснить чем работа на одном сервере отличается по tcp, чем по сокету? какой из вариантов лучше и при каких условиях? как ведет себя приложение и сервер?
поделитесь информацией и знаниями?

если выше прозвучал такой уверенный ответ с сарказмом о потреблении ресурсов, значит работали и есть опыт. буду благодарен доп. информации

по своему вопросу буду рад услышать от кого-то ответ. есть готовые решения, но всегда приятнее использовать нужный функционал из коробки.
## .. ионный ускоритель на быстром мазуте .. ##
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Redis + Yii по сокету

Сообщение anton44eg »

К сожалению всей полнотой знаний и замеров не обладаю, делюсь тем, что знаю.

http://redis.io/topics/benchmarks
Сделал замеры на своей машине:
tcp:

Код: Выделить всё

➜  ~  redis-benchmark -q -n 100000
PING_INLINE: 91575.09 requests per second
PING_BULK: 89126.56 requests per second
SET: 88183.43 requests per second
GET: 87642.41 requests per second
INCR: 88731.15 requests per second
LPUSH: 90579.71 requests per second
LPOP: 85034.02 requests per second
SADD: 92336.11 requests per second
SPOP: 94786.73 requests per second
LPUSH (needed to benchmark LRANGE): 83194.67 requests per second
LRANGE_100 (first 100 elements): 25786.49 requests per second
LRANGE_300 (first 300 elements): 10463.53 requests per second
LRANGE_500 (first 450 elements): 7232.75 requests per second
LRANGE_600 (first 600 elements): 5445.14 requests per second
MSET (10 keys): 50968.40 requests per second
unix socket:

Код: Выделить всё

➜  ~  redis-benchmark -q -n 100000 -s /tmp/redis.sock
PING_INLINE: 149700.61 requests per second
PING_BULK: 156985.86 requests per second
SET: 143061.52 requests per second
GET: 149253.73 requests per second
INCR: 144092.22 requests per second
LPUSH: 148809.53 requests per second
LPOP: 143266.47 requests per second
SADD: 148809.53 requests per second
SPOP: 162074.56 requests per second
LPUSH (needed to benchmark LRANGE): 148588.42 requests per second
LRANGE_100 (first 100 elements): 29086.68 requests per second
LRANGE_300 (first 300 elements): 10875.48 requests per second
LRANGE_500 (first 450 elements): 7522.19 requests per second
LRANGE_600 (first 600 elements): 5567.93 requests per second
MSET (10 keys): 68823.12 requests per second
Насколько я помню при использовании php-fpm через сокет именно при большом количестве подключений сбоит (connection refused), хотя работает быстрее на 5-10%
Аватара пользователя
Gemini_13
Сообщения: 14
Зарегистрирован: 2014.07.02, 11:14

Re: Redis + Yii по сокету

Сообщение Gemini_13 »

не поленились, погуглили и потестили. это отлично
думаю, Вам понятно почему именно сокет меня интересовал? повторите тесты и параллельно смотрите на нагрузку сервера, станет понятно почему я упомянул нагрузку.

буду рад, если в будущем, перед ответами в таком стиле, Вы задумаетесь над словами собеседника :)
## .. ионный ускоритель на быстром мазуте .. ##
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Redis + Yii по сокету

Сообщение anton44eg »

Потестировал и разницы в нагрузке не заметил (но это на глаз), нужно подумать как ее нормально замерить
Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Redis + Yii по сокету

Сообщение Insolita »

замеров не делала но сталкивалась с нестабильностью периодической через tcp, phpredis на фряхе (redis тогда 2.8.4 был послендий) редис использовался для очередей и подписок на события, с переводом на сокет проблемы устранились
Ответить