Jump to content
noilemax

Глобальный вопрос по нагрузке.

Recommended Posts

Opencart 1.5 не справился с задачей и начал сильно тупить.

У меня планируется около 100 000 товаров, не частое посещение, среднестатестический хост. 

Справится ли 3 опенкарт с такой задачей?

Будут различные фильтры. Кто делал магазин с большим количеством товаров, подскажите что может быть критично. Буду благодарен за любую инфу желательно без тролинга.

Share this post


Link to post
Share on other sites

ну это не opencart нке справился, а разработчик.

от версии тут мало что зависит кардинально

Share this post


Link to post
Share on other sites

важные моменты:

0. наличие данных в товарах (на чем можно поэкономить, тем самым оптимизировав запрос к БД) напр.: артикул, отзывы, бренд и т.д.

1. наличие кэшера

2. оптимизированного кода и "правильных" модулей

остальное - дело техники.

Share this post


Link to post
Share on other sites

0 простите, но никак не влияет именно эти поля. Больше скорее оказывает влияние количество товаров в категориях.

1. Может быть обратный эффект. Прогреваться не успеет. Забитая файловая система. Если прогревать принудительно на таком объеме это само ддос.

2+

 

По факту 100к это не нагрузка.

Share this post


Link to post
Share on other sites

Важно хороший виртуальный VPS хостинг гиг на 50, кеш модуль хороший и нормальный фильтр, доработаный шаблон и 100000 не проблема вообще. Самое важное виртуальный VPS они сейчас недорого

Share this post


Link to post
Share on other sites

1. Пересмотрите индексы, используются ли они в достаточном мере 

2. Настройте лимиты открытых таблиц, join таблиц и буфер кеша   

3. Пересмотрите лимиты в linux, за частую дефолта может быть мало 

4. Уйдите от голого апача, или на чистый nginx или на связку nginx прокси,

5. Настройте кеш статики, не забудьте настроить gzip в мерах разумного

6. Перейдите на http2 и php 7 (! не всегда и всем нужно и не всегда это безболезненно)

7. Если у товаров есть много отзывов, рассмотрите оптимизацию отзывов

8. Таблица oc_product постоянно лочтся, пересмотрите изменения логики updateViewed

9. В запросах получения всех товаров getProducts использует только нужные таблицы, остальные подключайте по факту использования в сортировке 

10. Перенесите временные файлы sql  в ОЗУ если это позволяет объем ОЗУ

11. Не забывайте, много каши типа стикеров, доп фото добавляю нагрузки для каждого товара это + 1 + 2 запроса, делайте выборку правильно, вообще проверяйте что у вас с запросами, одно из самых узких мест это база 

12. MySql 8 скорее старых версий  

13. Используйте кешер для opencart 

14. Прирост в ~10% могут дать ssd диски типа nvme

15. Используйте проверенные VDS

16. При большой географии Используйте проксировшики типа cloudflare (в РФ много ip в бане, будьте осторожны), они кешируют статику, помогают снизить нагрузку на сервер

 

  • +1 1

Share this post


Link to post
Share on other sites
59 минут назад, noilemax сказал:

, не частое посещение,

 

7 минут назад, Bulah79 сказал:

кеш модуль хороший

Кеш может не прогреться

 

 

24 минуты назад, Yoda сказал:

Если прогревать принудительно на таком объеме это само ддос.

@Bulah79 Это прочитали?

1 час назад, noilemax сказал:

Будут различные фильтры.

как это?
Сколько параметров фильтрации?
Количество категорий?

Share this post


Link to post
Share on other sites
32 минуты назад, Yoda сказал:

0 простите, но никак не влияет именно эти поля. Больше скорее оказывает влияние количество товаров в категориях.

1. Может быть обратный эффект. Прогреваться не успеет. Забитая файловая система. Если прогревать принудительно на таком объеме это само ддос.

2+

 

По факту 100к это не нагрузка.

О да, кол-во товаров в категории - это наверное один из основных моментов, которые "по умолчанию" подразумеваются, полностью соглашусь, с немаловажным фактором, но помнится, как то тестировали на кол-вах более 50К момент запроса выборки товара\ов с\без 

LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id)

вроде фигня, но общий прирост таки показал разницу, если утилизировать по "узким горлышкам", а такие ненужные вещи как:

stock_status

weight_class

length_class

rating

reward

в общем количестве таки дадут свой прирост в производительности, но то такое, как пишет один камрад из форума "экономия на спичках", но тем не менее, если комплексно подходить к оптимизации, то тут каждая миллисекунда играет роль. Спасибо за конструктивный ответ.

 

Для прогревки кэшера, рационально использовать разбивку по параметрам, например по категорийности, ну или хотя бы по языковым переменным, как минимум

Share this post


Link to post
Share on other sites
1 час назад, noilemax сказал:

, среднестатестический хост. 

что это? как это?

@ArtemPitov О чем пишет ТС? какой 8-й sql?

 

3 минуты назад, ArtemPitov сказал:

Перенесите временные таблицы sql  в ОЗУ

откуда информация о временных таблицах?
 

Share this post


Link to post
Share on other sites
1 минуту назад, auditor сказал:

stock_status

weight_class

length_class

rating

reward

Вот тут -да

А еще и сортировка по цене, если не нужна..

Но это уже вторично..

Первично количество товаров в категории.. и.. работать, работать... над оптимизацией
 

  • +1 1

Share this post


Link to post
Share on other sites
3 минуты назад, chukcha сказал:

откуда информация о временных таблицах?

файлы не таблицы ) 

Share this post


Link to post
Share on other sites
16 часов назад, chukcha сказал:

Вот тут -да

А еще и сортировка по цене, если не нужна..

Но это уже вторично..

Первично количество товаров в категории.. и.. работать, работать... над оптимизацией
 

Ну мы же с вами знаем, что первично не использовать * и сортировать группировать по первой таблице. Но это не про опенкарт)))

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.