Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

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

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

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

Надіслати
Поділитися на інших сайтах

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

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

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

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

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

Надіслати
Поділитися на інших сайтах

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

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

2+

 

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

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах


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
Надіслати
Поділитися на інших сайтах

59 минут назад, noilemax сказал:

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

 

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

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

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

 

 

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

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

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

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

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

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

Надіслати
Поділитися на інших сайтах

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

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

 

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

Надіслати
Поділитися на інших сайтах

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

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

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

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

 

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

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

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

Надіслати
Поділитися на інших сайтах

1 минуту назад, auditor сказал:

stock_status

weight_class

length_class

rating

reward

Вот тут -да

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

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

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

  • +1 1
Надіслати
Поділитися на інших сайтах

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

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

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

Надіслати
Поділитися на інших сайтах

16 часов назад, chukcha сказал:

Вот тут -да

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

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

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

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.