Имеется интернет магазин на Bitrix управление сайтом. редакция бизнес.
В инфоблоке 170 тыс. элементов , 2000+ секций, 2000+ свойств. нагрузка: 10-40 обращений в минуту.
top показывает что mysql постоянно потребляет 500-600% (5-6 ядер).
/bitrix/admin/perfmon_db_server.php?lang=ru жалуется на
"Процент временных таблиц потребовавших создание на диске (Created_tmp_disk_tables / (Created_tmp_tables + Created_tmp_disk_tables)). Процент более 30% и требуется увеличить параметры tmp_table_size"
Запросы к СУБД выполняются относительно быстро (В show processlist практически пусто. Попытка сопоставить thread и запросы в нем выполняющиеся согласно
статьи тоже ничего не дала )
Попытка средствами bitrix найти где можно создать/изменить/удалить индексы ничего не дала. (Выигрыш в несколько процентов на конкретных редких запросах не считается значимым результатом)
если оставить 90 тыс позиций - нагрузка на процессор падает больше чем втрое. (mysql ест 3 ядра максимум. среднее значение : 60-200%)
суть вопроса: как проверить почему нагрузка на процессор так зависит от количества элементов в инфоблоке? (кто виноват: сам фреймворк, установленное готовое решение, или настройки субд )
(Если проблема в mysql по пожалуйста поделитесь правилом по которому надо рассчитывать значение параметров
tmp_table_size и
max_heap_table_size. Или хотя бы верхней границей , выше которого ставить значения параметров смысла нет)