Кеширование assets в Redis/Memcache

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Кеширование assets в Redis/Memcache

Сообщение zxczxc12 »

Hi

Для увеличения быстродействия системы, сессии и кешрование схемы ДБ я применил Redis, но вот вопрос: можно ли кешировать файлы assets в Redis/Memcache и нужно ли ?
Мысль такова: вся куча файлов ( js/css и тп ) читается с диска, почему бы не хранить её в RAM использовуя подобные БД ?
chesar
Сообщения: 514
Зарегистрирован: 2013.04.10, 17:49

Re: Кеширование assets в Redis/Memcache

Сообщение chesar »

Браузер сам кеширует статику
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Кеширование assets в Redis/Memcache

Сообщение zelenin »

chesar писал(а):Браузер сам кеширует статику
Кэширование клиентом не решает озвученную в посте проблему.
andrei.obuhovski
Сообщения: 610
Зарегистрирован: 2015.07.16, 10:50

Re: Кеширование assets в Redis/Memcache

Сообщение andrei.obuhovski »

Можно, что мешает то.
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Кеширование assets в Redis/Memcache

Сообщение Nerf »

Картинки еще положите до кучи)
Не совсем понимаю надобность. Статику отдает сервер напрямую и делает это бытро, на клиенте кеширует браузер. Вы можете оптимизировать свою "кучу файлов".
Не совсем понимаю в чем выигрыш: считать статический файл с сервера vs обратиться к yii (считать n файлов, прогнать в php), а потом отдать файлы их RAM через стороннюю библиотеку средствами php...
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Re: Кеширование assets в Redis/Memcache

Сообщение zxczxc12 »

andrei.obuhovski писал(а):Можно, что мешает то.
Понятно что можно :-)

Уточню вопрос, есть ли какое нибудь готовое решение, наподобие https://github.com/yiisoft/yii2-redis , что бы не изобретать велосипед ?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Кеширование assets в Redis/Memcache

Сообщение zelenin »

Nerf писал(а):Картинки еще положите до кучи)
Не совсем понимаю надобность. Статику отдает сервер напрямую и делает это бытро, на клиенте кеширует браузер. Вы можете оптимизировать свою "кучу файлов".
Не совсем понимаю в чем выигрыш: считать статический файл с сервера vs обратиться к yii (считать n файлов, прогнать в php), а потом отдать файлы их RAM через стороннюю библиотеку средствами php...
все так: поднять 20 файлов с диска vs поднять 100 файлов с диска, интерпретировать их php, отдать 20 файлов из редиса.
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Re: Кеширование assets в Redis/Memcache

Сообщение zxczxc12 »

Nerf писал(а):Картинки еще положите до кучи)
Не совсем понимаю надобность. Статику отдает сервер напрямую и делает это бытро, на клиенте кеширует браузер. Вы можете оптимизировать свою "кучу файлов".
Не совсем понимаю в чем выигрыш: считать статический файл с сервера vs обратиться к yii (считать n файлов, прогнать в php), а потом отдать файлы их RAM через стороннюю библиотеку средствами php...
Статику отдает сервер напрямую и делает это бытро
Ну тогда если так говорить , То зачем кешировать сессии , схему DB и тп ? :-)
Если проект нагруженный , то к диску идут запросы на чтение , замедляя систему при больших нагрузках
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Кеширование assets в Redis/Memcache

Сообщение zelenin »

zxczxc12 писал(а):
Nerf писал(а):Картинки еще положите до кучи)
Не совсем понимаю надобность. Статику отдает сервер напрямую и делает это бытро, на клиенте кеширует браузер. Вы можете оптимизировать свою "кучу файлов".
Не совсем понимаю в чем выигрыш: считать статический файл с сервера vs обратиться к yii (считать n файлов, прогнать в php), а потом отдать файлы их RAM через стороннюю библиотеку средствами php...
Статику отдает сервер напрямую и делает это бытро
Ну тогда если так говорить , То зачем кешировать сессии , схему DB и тп ? :-)
Если проект нагруженный , то к диску идут запросы на чтение , замедляя систему при больших нагрузках
viewtopic.php?p=205535#p205534
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Re: Кеширование assets в Redis/Memcache

Сообщение zxczxc12 »

Ну наверное вы правы
andrei.obuhovski
Сообщения: 610
Зарегистрирован: 2015.07.16, 10:50

Re: Кеширование assets в Redis/Memcache

Сообщение andrei.obuhovski »

zelenin писал(а):
Nerf писал(а):Картинки еще положите до кучи)
Не совсем понимаю надобность. Статику отдает сервер напрямую и делает это бытро, на клиенте кеширует браузер. Вы можете оптимизировать свою "кучу файлов".
Не совсем понимаю в чем выигрыш: считать статический файл с сервера vs обратиться к yii (считать n файлов, прогнать в php), а потом отдать файлы их RAM через стороннюю библиотеку средствами php...
все так: поднять 20 файлов с диска vs поднять 100 файлов с диска, интерпретировать их php, отдать 20 файлов из редиса.
Тут можно придраться к тому, что с включенным опкэшем php не будет каждый раз читать файлы с диска, а закэширует байт-код. Но согласен с тем что автор на спичках пытается сэкономить :)
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Кеширование assets в Redis/Memcache

Сообщение Nerf »

andrei.obuhovski писал(а):
zelenin писал(а):
Nerf писал(а):Картинки еще положите до кучи)
Не совсем понимаю надобность. Статику отдает сервер напрямую и делает это бытро, на клиенте кеширует браузер. Вы можете оптимизировать свою "кучу файлов".
Не совсем понимаю в чем выигрыш: считать статический файл с сервера vs обратиться к yii (считать n файлов, прогнать в php), а потом отдать файлы их RAM через стороннюю библиотеку средствами php...
все так: поднять 20 файлов с диска vs поднять 100 файлов с диска, интерпретировать их php, отдать 20 файлов из редиса.
Тут можно придраться к тому, что с включенным опкэшем php не будет каждый раз читать файлы с диска, а закэширует байт-код. Но согласен с тем что автор на спичках пытается сэкономить :)
С включенным superUberCache все равно будет запрос сервер->php->файл (иначе сервер->файл), если условно.
Ну тогда если так говорить , То зачем кешировать сессии , схему DB и тп ? :-)
Если проект нагруженный , то к диску идут запросы на чтение , замедляя систему при больших нагрузках
1) Вы к ним обращаетесь уже "запустив" php. Работать с сессией(она не статична к тому же) быстрее в RAM, чем в режиме чтение-запись с диска.
2) Купите SSD, сделайте RAID, купите 2 сервер, используйте CDN, RAM-диск...
andrei.obuhovski
Сообщения: 610
Зарегистрирован: 2015.07.16, 10:50

Re: Кеширование assets в Redis/Memcache

Сообщение andrei.obuhovski »

Nerf писал(а): С включенным superUberCache все равно будет запрос сервер->php->файл (иначе сервер->файл), если условно.
А вы отключите opcache.validate_timestamps и удалите все из index.php. Будете очень сильно удивлены.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Кеширование assets в Redis/Memcache

Сообщение zelenin »

andrei.obuhovski писал(а):
Nerf писал(а): С включенным superUberCache все равно будет запрос сервер->php->файл (иначе сервер->файл), если условно.
А вы отключите opcache.validate_timestamps и удалите все из index.php. Будете очень сильно удивлены.
и что случится? из этой схемы неожиданно исчезнет php?)
andrei.obuhovski
Сообщения: 610
Зарегистрирован: 2015.07.16, 10:50

Re: Кеширование assets в Redis/Memcache

Сообщение andrei.obuhovski »

zelenin писал(а):
andrei.obuhovski писал(а):
Nerf писал(а): С включенным superUberCache все равно будет запрос сервер->php->файл (иначе сервер->файл), если условно.
А вы отключите opcache.validate_timestamps и удалите все из index.php. Будете очень сильно удивлены.
и что случится? из этой схемы неожиданно исчезнет php?)
Ага. И на его место придет Go!)
На самом деле вопрос был про файлы. Php не будет парсить файлы, а возьмет опкоды из памяти.
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Кеширование assets в Redis/Memcache

Сообщение Nerf »

andrei.obuhovski писал(а): На самом деле вопрос был про файлы. Php не будет парсить файлы, а возьмет опкоды из памяти.
Php не будет запускаться, не будет идти запрос к внешнему сервису (redis)? Я не знаю, что нужно сделать, чтобы такая связка выигрывала бы в статичной отдаче файлов. Файловый сервер для того и создан, там свои механизмы кеширования и т.п.
Короче, проще и быстрее смонтировать директорию с ресурсами в память...
Ответить