Страница 1 из 1

Использование драйвера Mysqli ит.д.

Добавлено: 01.11.2019, 10:11
Андрей Лазарев
Добрый день.
Заказчик хочет делать интернет магазин с большим количеством товаров и достаточно большой нагрузкой на 3-й версии Вашей CMS и оплачивает лицензию сегодня. Я очень хорошо знаком с Симплой и Вашей 2-й версией. Отсюда вопросы по 3-й, так как времени на просмотр кода особо нет :
1. Есть ли возможность использования вместо PDO более быстрого драйвера MySQLi ?
2. Во 2-й версии все выборки из базы происходили отдельными запросами, т.е. для вытягивания полной инфы по товарам нужно было вытащить сначала сами товары, потом варианты, потм картинки и т.д. Как с этим обстоят дела в 3-й версии, Оптимизировали ли выборки. применяются join и т.д.?
3. Какую нагрузку сможет держать 3-я версия относительно 2-й (примерно, есть ли улучшения) ?
Заранее спасибо, надеюсь на дальнейшее сотрудничество

Добавлено: 01.11.2019, 12:05
zyxer
1. Есть ли возможность использования вместо PDO более быстрого драйвера MySQLi ?
Переписать класс Database )), но тогда все вопросы безопасности SQL-инъекций вы берете на себя.

2. Во 2-й версии все выборки из базы происходили отдельными запросами, т.е. для вытягивания полной инфы по товарам нужно было вытащить сначала сами товары, потом варианты, потм картинки и т.д. Как с этим обстоят дела в 3-й версии, Оптимизировали ли выборки. применяются join и т.д.?
не совсем понятно как можно с помощью join-а достать товар и все его варианты? Другими словами, да, для доставания полной инфы по товару, нужно несколько запросов выполнять. Но для упрощения этого, есть некий фасадик Okay\Helpers\ProductsHelper::getProductList() он скрывает все это внутри.
По оптимизации, постоянно что-то да и делается, то индекс добавим, то запрос изменим...
3. Какую нагрузку сможет держать 3-я версия относительно 2-й (примерно, есть ли улучшения) ?
Несколько десятков тысяч товаров работают без проблем, если больше - нужно оптимизировать, делать кеширование и прочее

Добавлено: 01.11.2019, 16:49
korshunov
Если Вам важна рациональность и быстродействие, то настоятельно рекомендую максимально подробно протестировать.
По моим сведениям, с этим в Okay 3 дело обстоит существенно хуже, чем в Okay 2.

Мои весьма прозрачные намеки на эту тему поддержка понимать не желает, большей частью отмалчивается, в лучшем случае отделывается общими фразами. Например, тут
viewtopic.php?f=5&t=1318&p=6909#p6909

zyxer писал(а):Несколько десятков тысяч товаров работают без проблем, если больше - нужно оптимизировать, делать кеширование и прочее

Встречались конкретные ситуации, когда тормоза возникали не от большого числа товаров, а от большого числа свойств или категорий. Так что вопрос не так прост, как может показаться...

Добавлено: 07.11.2019, 14:48
korshunov
zyxer писал(а):Несколько десятков тысяч товаров работают без проблем, если больше - нужно оптимизировать, делать кеширование и прочее

Возможно, где-то у кого-то и без проблем.

А вот мне недавно встретилась ситуация, когда на сайте с 19 тыс товаров не работает выгрузка для маркета (feed.php). Серверу не хватает памяти.
Причина, по-моему, в принципиально неверном подходе к вопросу со стороны разработчиков. Как надо правильно экономно делать - можно увидеть в стареньком скрипте Simpla...