Имеется магазин, нагрузка 195000 уникальных в сутки, 2000 одновременно на сайте.
Для кеширования был выбран memcache.
Небходимо обновлять свойства продуктов (цены, остатки) в магазинах(30), продуктов 50000 в каждом.
Это значит, существует как минимум 1500000 страниц детально (продукт имеет свою цену в магазине и тд.)
Импорт проходит, после него сбрасывается мемкеш
$phpCache = new CPHPCache();
$phpCache->CleanDir();
MaxClients на апаче 400 (64 Гб ram), 2000 пользователей ходят по сайту,
прямые запросы в базу, база сильно нагружается, на вебе забиваются
maxclients, остальные пользователи видят 502 ошибку.
Около 10 мин. сайт не доступен, потом постепенно набивается кеш, нагрузка падает.
Вопрос, как это обойти? Увеличивать серверные мощности в планах, но решение нужно сейчас (и на будущее).
Предполагаю на этапе импорта формировать кеш и обновлять его в мемкеше,
хотя бы для страниц детально (их большинство). Для остальных компонентов (секции каталога
и тд) придется сбрасывать. Вопрос как сбрасывать мемкеш частично? Какие
решения еще есть?
Для кеширования был выбран memcache.
Небходимо обновлять свойства продуктов (цены, остатки) в магазинах(30), продуктов 50000 в каждом.
Это значит, существует как минимум 1500000 страниц детально (продукт имеет свою цену в магазине и тд.)
Импорт проходит, после него сбрасывается мемкеш
$phpCache = new CPHPCache();
$phpCache->CleanDir();
MaxClients на апаче 400 (64 Гб ram), 2000 пользователей ходят по сайту,
прямые запросы в базу, база сильно нагружается, на вебе забиваются
maxclients, остальные пользователи видят 502 ошибку.
Около 10 мин. сайт не доступен, потом постепенно набивается кеш, нагрузка падает.
Вопрос, как это обойти? Увеличивать серверные мощности в планах, но решение нужно сейчас (и на будущее).
Предполагаю на этапе импорта формировать кеш и обновлять его в мемкеше,
хотя бы для страниц детально (их большинство). Для остальных компонентов (секции каталога
и тд) придется сбрасывать. Вопрос как сбрасывать мемкеш частично? Какие
решения еще есть?