База знаний   /   SEO URL Generator

Нагрузки сайта при работе модуля SEO URL Generator PRO

Опубликовано 20 August 2021 01:10 pm

Иногда пользователи спрашивают, с какой нагрузкой может справиться мой модуль SEO URL Generator PRO по массовой генерации ЧПУ для OpenCart.

Кейсы

---
OK - 11 000 товаров
Пользователь поинтересовался, справится ли. Купил и больше не писал. По методике врачей, будем считать, что "пациент" остался доволен и живет припеваючи, раз больше не обращался :)

---
Question - 500 000 товаров
Процессор: 1 x 2.7 ГГц
Оперативная память: 4 ГБ

Проблема: генератор урлов зависает
Не уточнено: типа таблиц в базе данных - InnoDB или MyISAM?

 

---
Вопрос пользователя: "Какие параметры сервера поднять что бы он работал без проблем?"

Ответ: "Уточните, зависает и все, или зависает, но в итоге отрабатывает?"

Если страницы работают очень медленно (смена номера страницы в процессе работы), то вероятно, что таблицы в базе данных имеют тип InnoDB, тогда как обычно в OpenCart используется MyISAM (хотя, в четверке уже должно быть InnoDB, судя по файлу - https://github.com/opencart/opencart/blob/master/upload/system/helper/db_schema.php, хотя при тестовой установке у меня в базе все равно MyISAM).

Кроме того,  технически работа модуля немного похожа на DoS-атаку, то есть, идет много обращений к станицам (в данном случае через ajax). С этой точки зрения нужно как можно большее число в настройке модуля "Кол-во записей, обрабатываемых за за 1 шаг при массовой генерации:"

Там можно выбрать максимальное значение 5000. Но код модуля открыт, можно поменять и на 30000. Лишь бы сервер мог справиться с таким количество за 1 запрос.

Также, если однажды ЧПУ были сгенерированы и нужна генерация только для новых товаров, то надо учесть, что при нажатии кнопки в админке перебираются ВСЕ товары сайта от минимального product_id и до максимального. А вот при крон-задаче, берутся только последние 10000 товаров (по умолчанию, можно настраивать) и при этом сотрировка идет наоборот от максимального product_id до минимального. То есть, по умолчанию обрабатываются только последние добавленные товары.