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

Recommended Posts

Всем доброго времени суток!

 

Возникла такая проблема! Вот уже несколько дней с хостинга приходят такие письма:

 

Здравствуйте!

Ваш аккаунт хххххх оказывает чрезмерную нагрузку на сервер.

Нагрузка на CPU характеризует суммарное время, затраченное процессорами сервера на обработку процессов аккаунта. Для снижения нагрузки следует оптимизировать скрипты, исключить выполнение процессов, требующих значительных вычислительных ресурсов.

Нагрузка на MySQL характеризует суммарное время, затраченное на обработку запросов к базам данных аккаунта. Для снижения нагрузки на MySQL следует оптимизировать базу данных и запросы к ней, исключить чрезмерное количество запросов, а также длительно обрабатываемые запросы.

По данным статистики нагрузка на сервер:
Дата, нагрузка на CPU, нагрузка на MySQL
2015-10-31 9.37cp 2457
2015-10-30 12.02cp 3799
2015-10-29 13.76cp 2277
2015-10-28 10.42cp 2212
2015-10-27 9.82cp 1478
2015-10-26 13.97cp 2178
2015-10-24 9.99cp 1210

Это превышает допустимые значения на текущем тарифном плане: нагрузка на CPU до 50 cp, MySQL до 1000.

В течение 7 дней (до 2015-11-08 включительно) Вам необходимо снизить создаваемую нагрузку до ограничений тарифного плана либо принять решение об адекватной смене условий размещения. Если по истечении этого срока будет по-прежнему наблюдаться повышенная нагрузка, дальнейшее обслуживание на прежних условиях будет невозможно.

В случае если нагрузка будет вызывать нестабильную работу сервера, мы будем вынуждены приостановить работу сайтов аккаунта.
С уважением, TIMEWEB.

 

На сайте примерно 5 000 товаров.

 

Нужно: оптимизировать базу данных и запросы к ней, исключить чрезмерное количество запросов, а также длительно обрабатываемые запросы.

 

Сайт тормозит, нужно выяснить причину этих тормозов! http://demo.lapyihvost.ru/

 

Стоимость работы договорная, пишите в личку.

 

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


Можно попытаться как вариант подключить мемкаше,убрать в контроллерах хидера и модуля категорий все упоминания о подсчёте товаров в категориях...Но вас по любому будут вынуждать перейти на более дорогой тариф.Я сам на таймвебе третий год.Уже это всё проходили.

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

Подсчет товаров сразу убрали. Вырезали в контроллерах все что не нужно. Сайт тормозит все равно. Из за большого количества категорий видимо.

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


любую оптимизацию следует начинать с анализа. подсчет товаров, наверно самая частая причина, но она не единственная.

поставьте db_log, походите по сайту и покажите лог медленных запросов

https://opencartforum.com/files/file/786-db-log/

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

Можно попытаться как вариант подключить мемкаше,убрать в контроллерах хидера и модуля категорий все упоминания о подсчёте товаров в категориях...Но вас по любому будут вынуждать перейти на более дорогой тариф.Я сам на таймвебе третий год.Уже это всё проходили.

Если честно не понимаю я таких хостеров....

Это вымогатели какие то

Что там opencart может грузить... там легкие однотипные запросы, которые MySQL сервер любого  хостера должен как "семечки" щелкать

Я арендую обычный хостинг (не VPS) и на нем еще 20 ИМ клиентов на opencart (причем включенный у всех подсчет товаров в категориях) - и мне ни разу хостер такую петицию не присылал. И скорость в норме. Отличия по скорости от VPS минимальны

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

любую оптимизацию следует начинать с анализа. подсчет товаров, наверно самая частая причина, но она не единственная.

поставьте db_log, походите по сайту и покажите лог медленных запросов

https://opencartforum.com/files/file/786-db-log/

Ставили уже. Проблемная часть

2015-11-16 0:50:05 - 5.03249: 147: /ххххх/vqmod/vqcache/vq2-catalog_controller_common_header.php(16)

2015-11-16 0:50:05 - all_time: 5.17236; count_queries: 00418 /koshki/

2015-11-16 0:49:06 - all_time: 5.04177; count_queries: 00327 /akvariumy/

Как исправить не знаем. Строка 16 controller $this->data['scripts'] = $this->document->getScripts();

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


catalog_controller_common_header.php

'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),

>>>>>>>>>

'name'  => $child['name'],
Надіслати
Поділитися на інших сайтах

 

catalog_controller_common_header.php

'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),

>>>>>>>>>

'name'  => $child['name'],

Что мы таким способом убираем?

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


Tom, это просто вывод. сама проблема выше по коду

 

Ставили уже. Проблемная часть
2015-11-16 0:50:05 - 5.03249: 147: /ххххх/vqmod/vqcache/vq2-catalog_controller_common_header.php(16)
2015-11-16 0:50:05 - all_time: 5.17236; count_queries: 00418 /koshki/
2015-11-16 0:49:06 - all_time: 5.04177; count_queries: 00327 /akvariumy/
Как исправить не знаем. Строка 16 controller $this->data['scripts'] = $this->document->getScripts();

проявите внимательность, в логах указан файл кеша vqmod vqmod/vqcache/vq2-catalog_controller_common_header.php

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

Tom, это просто вывод. сама проблема выше по коду

 

проявите внимательность, в логах указан файл кеша vqmod vqmod/vqcache/vq2-catalog_controller_common_header.php

Да, разного рода "меню" могут вставлять vqmod допилы, хотя в контроллере всё "убрано"

Очень часто такое встречаю

Надо искать эти vqmod допилы

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

Tom, это просто вывод. сама проблема выше по коду

 

проявите внимательность, в логах указан файл кеша vqmod vqmod/vqcache/vq2-catalog_controller_common_header.php

vqmod vqmod/vqcache/vq2-catalog_controller_common_header.php (16)

$product_total = $this->model_catalog_product->getTotalProducts($data);

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


этот подсчет кол-ва и тормозит ваш магазин, а говорите убрали

Подсчет товаров сразу убрали. Вырезали в контроллерах все что не нужно. Сайт тормозит все равно. Из за большого количества категорий видимо.

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

Подгружался это кусок через vqmod / xml

$product_total = $this->model_catalog_product->getTotalProducts($data);

            $children_data[] = array(
                'name'  => $child['name'] .($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
                'href'  => $this->url->link('product/category', 'path=' . $path_prefix . '_' . $child['category_id']),
            );
        }
        return $children_data;
    }        

В нем и надо закрыть подсчет.

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


Подгружался это кусок через vqmod / xml

$product_total = $this->model_catalog_product->getTotalProducts($data);

            $children_data[] = array(

                'name'  => $child['name'] .($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),

                'href'  => $this->url->link('product/category', 'path=' . $path_prefix . '_' . $child['category_id']),

            );

        }

        return $children_data;

    }        

В нем и надо закрыть подсчет.

Как правильно закрыть?

Если так просто закрыть //$product_total = $this->model_catalog_product->getTotalProducts($data);

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


судя по всему, да + то что вам советовали выше https://opencartforum.com/topic/53518-оптимизация-mysql-чрезмерная-нагрузка-на-сервер/?do=findComment&comment=471359

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

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

Исправили под пил vqmod время обработки вроди нормальное по категориям и ушла ошибка.

2015-11-17 13:56:03 - all_time: 0.49391; count_queries: 00123 /
2015-11-17 13:56:05 - all_time: 0.16103; count_queries: 00230 /gryzuny/
2015-11-17 13:56:07 - all_time: 0.02712; count_queries: 00203 /gryzuny/
2015-11-17 13:56:09 - all_time: 0.48975; count_queries: 00266 /koshki/
2015-11-17 13:56:10 - all_time: 0.03020; count_queries: 00266 /koshki/
2015-11-17 13:56:12 - all_time: 0.48299; count_queries: 00289 /sobaki/
2015-11-17 13:56:14 - all_time: 0.03486; count_queries: 00289 /sobaki/
2015-11-17 13:56:16 - all_time: 0.07987; count_queries: 00224 /pticy/
2015-11-17 13:56:17 - all_time: 0.02563; count_queries: 00199 /pticy/
2015-11-17 13:56:18 - all_time: 0.01913; count_queries: 00108 /reptilii/
2015-11-17 13:56:19 - all_time: 0.01821; count_queries: 00108 /reptilii/
2015-11-17 13:56:20 - all_time: 0.02242; count_queries: 00114 /ryby/
2015-11-17 13:56:21 - all_time: 0.01782; count_queries: 00114 /ryby/
2015-11-17 13:56:22 - all_time: 0.05127; count_queries: 00192 /akvariumy/
2015-11-17 13:56:23 - all_time: 0.02449; count_queries: 00175 /akvariumy/
2015-11-17 13:56:24 - all_time: 0.01747; count_queries: 00100 /specials/
2015-11-17 13:56:25 - all_time: 0.01707; count_queries: 00100 /specials/

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


Подскажите! Это Поиск подкатегорий на стр. категорий.


refine search
1.5.6.x
2.4.1
univer


$data = array(
]]>

// Level 3
$children_data = array();
$children = $this->model_catalog_category->getCategories($result['category_id']);
foreach ($children as $child) {
$children_data[] = array(
'name' => $child['name'],
'href' => $this->url->link('product/category', 'path='. $this->request->get['path']. '_' . $result['category_id'] . '_' . $child['category_id']),
'children' => $this->getChildrenData2($child['category_id'], $result['category_id']),
);
}
if ($result['image']) {
$pic = $this->model_tool_image->resize($result['image'], 80,80);
} else {
$pic = false;
}
]]>


'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
]]>

'pic' => $pic,
'children' => $children_data,
]]>


public function index() {
]]>

// menu 3rd level
private function getChildrenData2( $ctg_id, $path_prefix ){
$children_data = array();
$children = $this->model_catalog_category->getCategories($ctg_id);

foreach ($children as $child) {
$data = array(
'filter_category_id' => $child['category_id'],
'filter_sub_category' => true
);

$product_total = $this->model_catalog_product->getTotalProducts($data);

$children_data[] = array(
'name' => $child['name'] .($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $path_prefix . '_' . $child['category_id'])
);
}
return $children_data;
}
]]>


 

Здесь тоже нужно исправить

$product_total = $this->model_catalog_product->getTotalProducts($data);

            $children_data[] = array(
                'name'  => $child['name'] .($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
                'href'  => $this->url->link('product/category', 'path=' . $path_prefix . '_' . $child['category_id'])
            );

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


Гість
Ця тема закрита для публікації повідомлень.
×
×
  • Створити...

Important Information

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