Jump to content
sashaustenko

Админка - раздел Товары - Долго грузится, как ускорить?

Recommended Posts

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

Opencart 1.5.6.1

Помогите ускорить загрузку в Админке - Каталог -> Товары ... 26 тыс. товаров, открывается эта секция где-то 5-8 сек, логи смотрел, все по стандарту, запрос к товарам, производителям. Может есть какой-то метод, например отключить подсчет товаров, или ещё какое-то решение?

Спасибо.

Edited by sashaustenko

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

1. удалить все vqмоды и проверить
Может там у вас еще что грузится лишнее

Share this post


Link to post
Share on other sites

а сколько товаров на страницу вываливается? 

Share this post


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

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

Как это сделать, можете решение подсказать?

 

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

1. удалить все vqмоды и проверить
Может там у вас еще что грузится лишнее

Спасибо за подсказку, тестону.

 

15 минут назад, Jurgen сказал:

а сколько товаров на страницу вываливается? 

12 товаров.

Share this post


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

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

Opencart 1.5.6.1

Помогите ускорить загрузку в Админке - Каталог -> Товары ... 26 тыс. товаров, открывается эта секция где-то 5-8 сек, логи смотрел, все по стандарту, запрос к товарам, производителям. Может есть какой-то метод, например отключить подсчет товаров, или ещё какое-то решение?

Спасибо.

 

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

 

  • +1 1

Share this post


Link to post
Share on other sites
Только что, snastik сказал:

 

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

 

Уже есть конкретное решение, или Вы хотите ковыряться в моём коде ?:)

Share this post


Link to post
Share on other sites

Не совсем понимаю вас.
Что значит конкретное, и чем оно отличается от неконкретного ?

Share this post


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

Не совсем понимаю вас.
Что значит конкретное, и чем оно отличается от неконкретного ?

Ну имею ввиду, может быть была такая тема, а я не нашёл. И там уже есть код, и варианты исправления.
А Вы просто написали: "У меня есть решение этой проблемы, путем реструктуризации запросов." - как мне кажется, это не является помощью :))

Share this post


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

Ну имею ввиду, может быть была такая тема, а я не нашёл. И там уже есть код, и варианты исправления.
А Вы просто написали: "У меня есть решение этой проблемы, путем реструктуризации запросов." - как мне кажется, это не является помощью :))

 

Это платная доработка.
Платная доработка - это помощь ?

  • +1 1

Share this post


Link to post
Share on other sites
3 hours ago, sashaustenko said:

Помогите ускорить загрузку в Админке - Каталог -> Товары ... 26 тыс. товаров, открывается эта секция где-то 5-8 сек, логи смотрел, все по стандарту, запрос к товарам, производителям. Может есть какой-то метод, например отключить подсчет товаров, или ещё какое-то решение?

Спасибо.

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

Тот факт, что в логах медленных запросов (вы же лог БД смотрели, ага?) Вы ничего подозрительного не нашли не означает, что их нет: может быть вместо 1-2шибко медленных быть несколько тысяч достаточно быстрых. В любом случае, вариантов может быть масса. Вплоть до сторонних модулей в админской части, которые обращаются ко внешним ресурсам.

 

что бы хотя бы понять наверняка, что тормозит: сервер или клиент, сделайте скрин наподобие того, что в спойлере ниже. Для этого нажать ф12 в браузере, перейти на вкладку сеть\network, открыть страницу, которая тормозит и сделать скрин с результатами: что бы было видно время ответа сервера и время, затраченное на отрисовку страницы.

 

Spoiler

image.thumb.png.5faa2bd97340707997f2a0f3076bb722.png

 

Share this post


Link to post
Share on other sites

Что у всех данная страница загружается моментально?... нет у Вас проблем?... 

Есть кто, кто может помочь с кешированием данной страницы??

Share this post


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

Есть кто, кто может помочь с кешированием данной страницы??

Какое еще кеширование?

Share this post


Link to post
Share on other sites
В 07.11.2019 в 17:40, chukcha сказал:

Какое еще кеширование?

Вверху писали, закешировать результат подсчета товаров.

 

В 05.11.2019 в 13:50, spectre сказал:

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

Вот человек писал.

Share this post


Link to post
Share on other sites

Какой подсчет? product_total?

Share this post


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

Какой подсчет? product_total?

Ну да, 25000 товаров получается подсчитывает запрос.

 

Share this post


Link to post
Share on other sites
В 05.11.2019 в 13:28, sashaustenko сказал:

отключить подсчет товаров

Тогда пагинация не будет работать. Не парься! - 5 сек в админке, это пустяки, главное чтобы морда сайта быстро грузилась.

Share this post


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

Тогда пагинация не будет работать. Не парься! - 5 сек в админке, это пустяки, главное чтобы морда сайта быстро грузилась.

Главное чтобы поиск работал товаров, Получается и товар будет пересохранять 5 сек, или создавать новый тоже 5 сек, и чтобы зайти товар найти и скрыть с сайта, 5 сек грузится админка это не пустяк. Это не 1 сек. 

Помогите решить задачу.

Share this post


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

25000

Всего?

 

Цитата

Помогите решить задачу.

Как?

Вам советовали, вы не отвечали

Share this post


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

Всего?

 

Как?

Вам советовали, вы не отвечали

Напишите пожалуйста решение задачи, советовали, это как могу Вам посоветовать, когда хочется в туалет, идите в туалет.

Share this post


Link to post
Share on other sites
В 05.11.2019 в 16:06, snastik сказал:

 

Это платная доработка.
Платная доработка - это помощь ?

 

10 минут назад, sashaustenko сказал:

Напишите пожалуйста решение задачи,

 

Share this post


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

 

 

А вот к чему Вы ведёте. Ясно-понятно.

Ставлю вопрос по другому. Есть тут люди, которые могут помогать бесплатно, как например делают люди на сайте типа "стаковерфлоу"??

Я спросил помощь, а не предложил деньги, что за люди :(

Может кто-то встречал подобную тему, и там есть обсуждение, и похожее решение. Платно это не решение и помощь, это вынужденная мера.

Share this post


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

Помогите решить задачу.

времени в обрез, но если никто не поможет - выкрою время.

- какая версия?

Share this post


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

времени в обрез, но если никто не поможет - выкрою время.

- какая версия?

Opencart 1.5.6.1 - в логах замедляется файл admin/controller/catalog/product.php

Share this post


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

Opencart 1.5.6.1 - в логах замедляется файл admin/controller/catalog/product.php

Я посмотрел такой же файл в опенкарт 2.0 (принципиально не должны отличаться). Имеется функция getList

Что можно сделать?

Находим функцию $product_total = $this->model_catalog_product->getTotalProducts($filter_data); и видоизменяем.

$product_total = $this->cache->get('product_total');

if(!$product_total){

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

$this->cache->set('product_total',$product_total);

}

Также потребуется внести изменения в функции add() и delete()

Например, в delete()

 

$product_total = $this->cache->get('product_total');

foreach ($this->request->post['selected'] as $product_id) {
                $this->model_catalog_product->deleteProduct($product_id);
// это уже имеется в функции

$product_total--;
            }

$this->cache->set('product_total',$product_total);

 

В add()

$product_total = $this->cache->get('product_total');

$this->model_catalog_product->addProduct($this->request->post); // это уже имеется в функции

$product_total++;

$this->cache->set('product_total',$product_total);

 

При первоначальном запуске происходит получение количества всех продуктов, а дальше это значение уже будет выниматься из кеша.

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.