При увеличении количества товаров в базе данных, при их отображении на странице магазина, возникает сообщение "Товары, соответствующие вашему выбору, не найдены." и товары не отображаются.
В начале, при количестве товаров в БД 2700, все работает. Затем, после увеличения количества товаров до 5000 это проявляется при выборе сортировки "Сортировать по цене: от низкой к высокой" и "Сортировать по цене: от высокой к низкой". Затем, при дальнейшем увеличении количества товаров в БД, они перестают отображаться на страницах магазина в категориях, где их более 15000.
Сайт находится на VPS, ранее находился на виртуальном хостинге и данная проблема не проявлялась, но пришлось уйти с виртуального хостинга из-за ограничений ресурсов.
Не могут ли влиять следующие условия (данные из Woocommerce - состояние системы):
О сервере: Apache/2.4.10 (Debian)
Версия PHP: 5.6.17-0+deb8u1
Версия MySQL: 5.5.46
Лимит памяти WP: 256 MB
Максимальный размер запроса PHP: 8 MB
Ограничение времени выполнения PHP: 30
Количество входящих параметров в запросе PHP: 1000
Максимальный размер загрузки: 2 MB
Для сравнения эти же данные со старого хостинга:
О сервере: Apache/2.2.22
Версия PHP: 5.4.45
Версия MySQL: 5.5.43
Лимит памяти WP: 128 MB
Максимальный размер запроса PHP: 1 000 MB
Ограничение времени выполнения PHP: 60
Количество входящих параметров в запросе PHP: 3000
Максимальный размер загрузки: 1 000 MB
> Количество входящих параметров в запросе PHP: 1000
Это max_input_vars в php.ini, может быть причиной. Увеличивайте значение.
> Ограничение времени выполнения PHP: 30
Косвенно. 30с достаточно, если скрипт выполняется так долго - надо не лимит увеличивать, а выяснять почему он выполняется так долго.
Одной из причин столь длительного выполнения может быть ожидание ответа от БД, которая очень долго делает выборку, если товаров много (ведь при выборках, особенно в фильтрах и сортировках, идут объединяющие запросы по таксономиям и/или метаданным). В данном случае надо тюнить базу в первую очередь.
Еще было бы полезно понимать какие ресурсы на VPS.
VDS SSD Cuprum (СPU Intel(R) Xeon(R) CPU E5620 @ 2.40GHz 2400 Mhz X 2/2 GB RAM/30 GB SSD)
Привел параметры к одному виду:
Максимальный размер запроса PHP: 1 000 MB
Ограничение времени выполнения PHP: 60
Количество входящих параметров в запросе PHP: 3000
Максимальный размер загрузки: 1 000 MB
Не помогло.
Во время экспериментов заметил следующее: если в категории более 512 товаров, то при выборе сортировки "Сортировать по цене: от низкой к высокой" или "Сортировать по цене: от высокой к низкой" сообщение «Товары, соответствующие вашему выбору, не найдены» появляется, а если менее 512 - то товары отображаются отсортированными.