Дано: сайт одежды, в интересующем нас разделе порядка 370 товаров (пальто), там где товаров поменьше такой проблемы не возникает. Для SEO и в общем то для удобства посетителей создали такую схему: делаем какую то выборку по товарам (например пальто с материалом "кожа";), загоняем с помощью модуля редиректов в короткий урл /palto_kozha/, с помощью платного компонента ipol.aseo прописываем новому адресу уникальный текст, тайтл, меты.
Скриншот списка параметров приложен, примерно можно судить о его насыщенности. Всего порядка 35 свойств (участвуют не все). В поле "дизайн" (множественный выбор, вид "список";) порядка 30 пунктов.
Итого притом что страница пальто открывается, если в умном фильтре выбрать какой то компонент, например пальто дизайном "пончо" (таких штук девять в каталоге), то отправляется запрос аяксом и файрбаг показывает что там случилась 500 ошибка, в эррор.лог пишется чтото в таком духе
Да, вы наверное офигели, но тут даже выделенных 400 мегабайт на страницу не хватает. Самый дешевый выделенный сервер на хецнере, 4 гига памяти, пока что только пара проектов на поддержке, включая этот. Повышать memory_limit дальше я не вижу смысла, добавят еще пару пунктов в свойства и оно попросит гигабайт, надо решать проблему системно.
Строчка из кода (на самом деле не всегда тут бывает ошибка, но чаще именно здесь)
Полный код файла: делали проект другие люди, мы на поддержке, может они там накосячили где.
Люди добрые, подскажите, можно ли тут чтото исправить и как побороть эту прожорливую гидру.
Скриншот списка параметров приложен, примерно можно судить о его насыщенности. Всего порядка 35 свойств (участвуют не все). В поле "дизайн" (множественный выбор, вид "список";) порядка 30 пунктов.
Итого притом что страница пальто открывается, если в умном фильтре выбрать какой то компонент, например пальто дизайном "пончо" (таких штук девять в каталоге), то отправляется запрос аяксом и файрбаг показывает что там случилась 500 ошибка, в эррор.лог пишется чтото в таком духе
| Цитата |
|---|
| mod_fcgid: stderr: PHP Fatal error: Allowed memory size of 419430400 bytes exhausted (tried to allocate 262144 bytes) in .../httpdocs/bitrix/components/vera/catalog.smart.filter.new/component.php on line 247 |
Да, вы наверное офигели, но тут даже выделенных 400 мегабайт на страницу не хватает. Самый дешевый выделенный сервер на хецнере, 4 гига памяти, пока что только пара проектов на поддержке, включая этот. Повышать memory_limit дальше я не вижу смысла, добавят еще пару пунктов в свойства и оно попросит гигабайт, надо решать проблему системно.
Строчка из кода (на самом деле не всегда тут бывает ошибка, но чаще именно здесь)
| Код |
|---|
if ($_CHECK){
/*Disable composite mode when filter checked*/
$this->setFrameMode(false);
//$sstime = microtime(true);
$index = array();
foreach ($arResult["COMBO"] as $id => $combination)
{
foreach ($combination as $PID => $value)
{
$index[$PID][$value][] = &$arResult["COMBO"][$id]; //247 строчка
}
}
/*Handle disabled for checkboxes (TODO: handle number type)*/
foreach ($arResult["ITEMS"] as $PID => &$arItem) |
Люди добрые, подскажите, можно ли тут чтото исправить и как побороть эту прожорливую гидру.
