Установлена поисковая система с морфологией + поиск с вариантами (замена быстрого Ajax поиска от автора)
+ еще модуль подбора похожих товаров MR с доработкой на основе результатов этой поисковой системы
Количество товара - около 11 тыс. Будет еще примерно столько же.
Так как у меня много товара которые имеют значимые 2 символа (WD, FO и т.д.) - то поставил минимальное количество
в названии товара 2 символа, в описании - используется минимум 3 символа (нужно чтобы искались HDD, SDD, LCD и пр.)
Эксперементировал с вариантами поисковой выдачи, и мне больше понравилась логика И чем ИЛИ.
При логике ИЛИ у меня получалось в выдаче больше количество найденных товаров несоответствующих ожиданию пользователя.
Сервер на VPS, NGINX + FastCGI, 4Гб ОЗУ, 2 ядра
Стояло значение в настройках memory_limit=1024Mb
Столкнулся с такими ситуациями (через некоторое время только заметил):
1. Не хочет создаваться штатным способом копия БД через Настройки - Инструменты - Импорт/экспорт.
Не хватает ресурсов...
Опытным путем выяснил что штатным способом бекап БД может создаться только когда снимаю галочки с таблиц
oc_search_word, oc_search_word_to_product
2. Стоит и прекрасно ранее работал модуль автоматических бекапов Accu AutoBackup
Заметил что тоже перестали им создаваться копии БД.
Начали с хостером разбираться почему перестало работать бекапирование данным модулем...
При общении с ТП хостера была выявлена следующая ситуация:
При попытке запустить скрипт из под браузера возникала ошибка "Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 43 bytes)", что указывает на недостаточный объём выделяемой памяти для PHP-скрипта. Выполнили увеличение значения memory_limit с 1024 до 4096, после чего скрипт успешно отработал и соответствующий архив появился в списке архивов модуля, так же скрипт успешно отработал из-под командной строки. Однако при настройках "Backup type: auto" и "Schedule Backup Interval: 2 min(Test)" резервная копия не создаётся.
Конечно остается вариант запускать бекап через крон с командной строки или не включать индексные таблицы.
НО...
Возникает вопрос:
Какие типовые настройки для оптимизации работы и запросов MySQL Вы можете порекомендовать ?
Мне кажется что просто тупо увеличивать memory_limit до верхнего предела сервера и исключать таблицы индексов - это не правильный путь...