Как лучше работать с кешем?

Главные вкладки

Аватар пользователя Boozenok Boozenok 9 октября 2015 в 0:23

Есть магазин Drupal Commerce c атрибутами и аякс корзиной. Сейчас средняя посещаемость на сайте 10 т. и она будет расти. в каталоге (taxonomy/term/%) кнопки с формой "Купить" нет, есть только в нодах.
За несколько часов кеш форм растет до 2 ГБ, там уже хостинг начинает ругаться...
Поставила OptimizeDB, так кеш очищается по крону каждый час, но это явно не выход из ситуации. Думала вынести кеш в оперативную память используя Memcached, но сейчас хост дает только 510 МБ места, что особо мою проблему не решает (конечно хостинг поменяю, если это действительно поможет и если в этом реально есть смысл)

Так вот...хочу спросить у знающих людей:
1. Стоит ли смотреть в сторону Memcached или мне что-то подойдет больше?
2. Есть ли решение для аякс корзины с атрибутами по аналогии предложенным xandeadx.
3. По опыту что лучше использовать для кеширования Изображений? (они на сайте достаточно больших размеров, что уменьшает производительность)
4. Насколько вредным или безвредным является запуск крона каждый час (не учитывая того, что каждый час будет сайт немножко тормозить на протяжении какого-то времени)

Спасибо за отзывчивость

Комментарии

Аватар пользователя vbard vbard 9 октября 2015 в 0:34

"Boozenok" wrote:
они на сайте достаточно больших размеров, что уменьшает производительность

откуда инфа? о какой производительности речь?

сам по себе крон-то безвреден, смотря что им делать.

Аватар пользователя Boozenok Boozenok 9 октября 2015 в 0:45

"sumerian" wrote:
откуда инфа? о какой производительности речь?

Большой размер изображений = увеличение время их отдачи. Они то кешируются Boost, но после очистки кеша все-равно пользователю потом заново создаются персеты. Вот и интересуюсь какие еще эффективные варианты есть.

"sumerian" wrote:
смотря что им делать.

очищать по времени cache_form Smile

Аватар пользователя .poltergeist .poltergeist 9 октября 2015 в 2:23

memcached штука хорошая, но его надо уметь готовить
железо всегда должно быть с запасом, привлекайте сисадмина, возможно у вас конфиги не алло

Аватар пользователя dashiwa dashiwa 9 октября 2015 в 2:55

"Boozenok" wrote:
кеш форм растет до 2 ГБ

Вам подойдет очистка кеша,либо доработка модуля корзины.
Зачем хранить бесполезный кеш корзины в memcасhe?
"Boozenok" wrote:
Насколько вредным или безвредным является запуск крона каждый ча

Иногда вредно если сервер слабый. Ведь он совершает множество операций.
Можно написать скрипт и запускать его системным кроном,будет меньше нагрузки,только один запрос.
Либо чистить кеш при нажатии на кнопку корзины, при определенных условиях,но это как то не друпально
"Boozenok" wrote:

Большой размер изображений = увеличение время их отдачи. Они то кешируются Boost, но после очистки кеша все-равно пользователю потом заново создаются персеты. Вот и интересуюсь какие еще эффективные варианты есть


https://www.drupal.org/project/imageinfo_cache

Аватар пользователя marazmus marazmus 9 октября 2015 в 7:39

для начала настройте VDS и перенесите все на него
отличные VDS есть в Digital Ocean (говорят по-английски) и в Инфобокс (говорят по-русски, сервера в Питере)
у обоих дают нормально места (в инфобоксе так вообще дофига) и диски у них очень быстрые (300-600 мб/сек)

по настройке лучше доверять Роману - http://drupal-admin.ru/
есть положительный опыт работы с ним и его командой
у них же есть тариф на техподдержку екоммерц-сайтов и опыт работы именно с Drupal Commerce

после переноса они же помогут настроить все остальное - memcached, boost и прочее
кроме boost кстати есть возможность кешировать на стороне nginx, но там не очень тривиальная настройка

лучше потратить деньги на все это и заняться не техническими делами, а развитием магазина, имхо

Аватар пользователя sas@drupal.org sas@drupal.org 9 октября 2015 в 8:38

- Без оптимизации и кеширования на стороне ситемного софта не обойтись, vps/vds, SSD, nginx или fast fpm и т.д. и т.п.
- На стороне Друпала, https://www.drupal.org/project/optimizedb + cron, https://www.drupal.org/project/entitycache + https://www.drupal.org/project/display_cache = must have

Аватар пользователя mozh mozh 30 ноября 2015 в 16:41

<a href="mailto:sas@drupal.org">sas@drupal.org</a> wrote:
- Без оптимизации и кеширования на стороне ситемного софта не обойтись, vps/vds, SSD, nginx или fast fpm и т.д. и т.п.

- На стороне Друпала, https://www.drupal.org/project/optimizedb + cron, https://www.drupal.org/project/entitycache + https://www.drupal.org/project/display_cache = must have

спасибо будет ставить

Аватар пользователя Andruxa Andruxa 10 октября 2015 в 2:41

"Boozenok" wrote:
Насколько вредным или безвредным является запуск крона каждый час

У нас на инет-магазине крон запускается каждые 10 минут, и я склонен увеличить частоту до 1 минуты (* * * * * в crontab).
Разумеется, надо настраивать как объем задания за 1 запуск крона - там, где это предусмотрено (кол-во сущностей для индексации в search_api, например), так и периодичность запуска отдельных заданий - с помощью ultimate_cron.

"Boozenok" wrote:
За несколько часов кеш форм растет до 2 ГБ

Я вообще отказался от форм добавления в корзину, сделав свой ресурс для services, который дёргается аяксом по нажатию на кнопку добавления в корзину.
Плюс стандартный коммерцевский функционал выбора атрибутов - при каждом переключении перегружается форма, дёргая аяксом бутстрап, это никуда не годится.

"Boozenok" wrote:
что лучше использовать для кеширования Изображений?

Стили изображений - мало кто юзает мониторы > FullHD, минус панели браузера, минус отступы лайтбокса - можно смело ужимать full size до размера 1920х1080, или даже поменьше - незачем гонять мегапиксели на клиент.
Ну, или смотреть в сторону CDN.

Аватар пользователя imarat imarat 10 октября 2015 в 9:00

2. Есть ли решение для аякс корзины с атрибутами по аналогии предложенным xandeadx.

думаю он не сделал совместимость с атрибутами, потому что это сложно реализовать универсально
но написать аналог под конкретный сайт с заранее известными атрибутами - в чем проблема?

Аватар пользователя Boozenok Boozenok 11 октября 2015 в 22:32

"imarat" wrote:
в чем проблема?

в вот этом:)

"imarat" wrote:
с заранее известными атрибутами

А вообще помог очень совет

"<a href="mailto:sas@drupal.org">sas@drupal.org</a>" wrote:
must have

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

Аватар пользователя Boozenok Boozenok 15 января 2016 в 2:31

<a href="mailto:sas@drupal.org">sas@drupal.org</a> wrote:

- На стороне Друпала, https://www.drupal.org/project/optimizedb + cron, https://www.drupal.org/project/entitycache + https://www.drupal.org/project/display_cache = must have

Я вот заметила следующую особенность, если через display_cache кешировать карточки товаров, то иногда аякс отдает ошибку Некорректные POST-данные формы. для анонимов... Кто-то сталкивался с таким?