Авторизация  

   

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

   
Wait a minute, while we are rendering the calendar
   
   

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

Josef Vilka Побег. Трехлетняя история.
13 ноября 2017
Благодарю.
Проходимец Побег. Трехлетняя история.
02 ноября 2017
Все правильно сделал...
Josef Vilka Жизнь или кошелек? Размышления о деньгах...
07 мая 2017
Мне нравится, что до конца - практически никто не дочитывает....
Josef Vilka Мой опыт съемки в клипе Христини Соловій - "Хто, як не ти?"
29 апреля 2017
Да, было интересно - и наблюдать, и участвовать... https://www.youtube.com/watch?v=mrAKU8OnRPo
Josef Vilka Выводим русские символы на MAX7219 модуль бегущей строки Ардуино
18 апреля 2017
Леонид, посмотрите вот здесь http://rc-rls.com.ua/index.php?option=com_easyblog&view=entry&id=60&Ite...
   

Пользователи 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.163 секунд
Работает на Kunena форум