Авторизация  

   

Свежие обсуждения  

Читать подробнее »

   
Wait a minute, while we are rendering the calendar
   
   

Комментарии блогов  

Josef Vilka Собираем подвес по мотивам AlexMOS...
02 мая 2018
Третья ось - заработала, но не могу подобрать коэффициенты PID для нее. Надо уравновесить систему сн...
Josef Vilka Собираем подвес по мотивам AlexMOS...
01 мая 2018
Наконец-то решился и собрался с силами прикрутить третью ось к подвесу. Все было в наличии, вот врем...
Josef Vilka Побег. Трехлетняя история.
13 ноября 2017
Благодарю.
Проходимец Побег. Трехлетняя история.
02 ноября 2017
Все правильно сделал...
Josef Vilka Жизнь или кошелек? Размышления о деньгах...
07 мая 2017
Мне нравится, что до конца - практически никто не дочитывает....
   

Пользователи on-line  

   
   
× Content Management System и SEO – оптимизация

Opencart превышение нагрузки при подсчете товаров в категориях

26 фев 2017 13:45 - 26 фев 2017 13:46 #7359 от sphere_kev
sphere_kev создал эту тему: Opencart превышение нагрузки при подсчете товаров в категориях
Столкнулся с таким случаем, когда хостер отключил сайт за превышение нагрузки.
Имеется Opencart 1.5.5.1 и хостер сообщил, что сайт грузит сервер - при простом заходе на сайт сервер mysql грузится до 70% CPU.
Запросы вида:
Query | 0 | Sending data | SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product_to_category p2c LEFT JOIN oc_product p |
После простого отключения подсчета товаров в админке магазина - проблема вроде как ушла, но через неделю - история повторилась.
Опять запросы вида
Query | 0 | Sending data | SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_catego
- начали грузить сервер.
При одиночном заходе - еще ничего, но при индексации сервера поисковыми роботами - нагрузка по словам хостера- выходила за грани допустимой.
Посему - пришлось помимо простого отключения индексации в админке - решать вопрос с правкой скриптов..

Выключил getTotalProducts в:
catalog/controller/common/header.php
catalog/controller/product/category.php
catalog/controller/module/category.php


- заменил строку $product_total = $product->getTotalProducts($data); на $product_total = 1;

Заметно быстрее стали грузиться страницы и со слов хостера - нет превышения нагрузки.
Проблема решена.

..! You Can Make World Better !..

Последнее редактирование: 26 фев 2017 13:46 от sphere_kev.

Пожалуйста Войти , чтобы присоединиться к беседе.

  • sphere_kev
  • sphere_kev аватар Автор темы
  • Не в сети
  • Модератор
  • Модератор
  • Небесный тихоход
Больше
27 фев 2017 10:35 #7360 от sphere_kev
sphere_kev ответил в теме Opencart превышение нагрузки при подсчете товаров в категориях
Для того, чтобы было больше одной страницы в выводе категории товара - необходимо второй запрос на подсчет категорий либо оставить, либо задать в явном виде максимально возможное количество товара в файле
catalog/controller/product/category.php
ориентируемся по строчкам после запроса:
//здесь явно указываем количество - $product_total = 750; или оставляем строку ниже
$product_total = $this->model_catalog_product->getTotalProducts($data);

$results = $this->model_catalog_product->getProducts($data);

foreach ($results as $result) {
if ($result) {
$image = $this->model_tool_image->resize($result, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
} else {
$image = false;
}

..! You Can Make World Better !..

Пожалуйста Войти , чтобы присоединиться к беседе.

  • sphere_kev
  • sphere_kev аватар Автор темы
  • Не в сети
  • Модератор
  • Модератор
  • Небесный тихоход
Больше
Время создания страницы: 0.177 секунд
Работает на Kunena форум