Jump to content
Sign in to follow this  
saveplanet

[Решено] Не грузятся заказы в админ панели

Recommended Posts

Сегодня заметил на одном из сайтов, заходя в админ панель, в заказы покупателей, страница долго грузится просто не выдает ничего. Есть подозрение что база переполнена, но после оптимизации это не помгло. В БД более 130 тыс заказов.

Может нужно переводить все таблицы в InoDB, или какие-то по оптимизации вещи проводить на сервере? Поделитесь опытом.

Share this post


Link to post
Share on other sites
в БД более 130 тыс заказов

шоб я так жил! :-D

 

в первую очередь обратить внимание на потерянные заказы (старые) - удалить их нафиг

заодно, может и не только потерянные, а еще и отмененные и тд

т.е. уменьшить количество заказов избавившись от "мусора"

 

потом думать на кешированием

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

Так а какая по вашему правильная постановка вопроса? Вот человек выше ясно сказал избавится от мусора и над кеширвоанием подумать, полезная информация. Профессионалы обычно сразу отвечают, здесь же не едти седят, что перепираться ...

 

В логах ошибка и в отчете что грохнулся индекс у полей в таблице order, думаю эта причина.

Edited by saveplanet

Share this post


Link to post
Share on other sites

движок

версия

установленные дополнения (влияющие именно на раздел, в котором возникает проблема)

ошибки в логах

почему мы должны писать об этом каждому в каждой теме?

Share this post


Link to post
Share on other sites

движок

версия

установленные дополнения (влияющие именно на раздел, в котором возникает проблема)

ошибки в логах

почему мы должны писать об этом каждому в каждой теме?

При заходе в Отчеты - Покупатели - Заказы бразуер долго грузит и выдает "504 Gateway Time-out":

1) Opencart 1.5.3.1

2) ocstore_v1.5.3.1

3) Установлены: Заказ и регистрация Simple, Продукты из категории в модуле и плюс остальные стандартные модули.

4) Хостеры сказали мне это "Jun 5 13:39:55 ovzhost80 kernel: [1080659.433317] Out of memory in UB 7982403: OOM killed process 1031164 (mysqld) score 0 vm:1458224kB, rss:159716kB, swap:0kB. Уведомляем вас, что на сервере наблюдается нехватка оперативной памяти, в следствие чего происходит аварийное завершение процессов. Вам необходимо произвести оптимизацию использования памяти, либо повысить ваш тарифный план.".

В логах такая ошибка наблюдается:

2015/06/06 12:58:15 [error] 877#0: *50 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 127.135.17.119, server: domain.tld, request: "GET /admin/index.php?route=report/customer_order&token=d0f6872b08b52565c3924d7deecb737f HTTP/1.1", upstream: "http://53.6.15.214:8080/admin/index.php?route=report/customer_order&token=d0f6872b08b52565c3924d7deecb737f", host: "domain.tld", referrer: "http://domain.tld/admin/index.php?route=setting/store&token=d0f6872b08b52565c3924d7deecb737f"

Edited by saveplanet

Share this post


Link to post
Share on other sites

Оттюнил mysql на серве скриптом mysqltuner.pl и безрезультатно. Что-то с customer.php и как запросы перписать хз :(

Share this post


Link to post
Share on other sites

Думаю дело в этом запрсое:

 

 

$sql = "SELECT tmp.customer_id, tmp.customer, tmp.email, tmp.customer_group, tmp.status, COUNT(tmp.order_id) AS orders, SUM(tmp.products) AS products, SUM(tmp.total) AS total FROM (SELECT o.order_id, c.customer_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, o.email, cgd.name AS customer_group, c.status, (SELECT SUM(op.quantity) FROM `" . DB_PREFIX . "order_product` op WHERE op.order_id = o.order_id GROUP BY op.order_id) AS products, o.total FROM `" . DB_PREFIX . "order` o LEFT JOIN `" . DB_PREFIX . "customer` c ON (o.customer_id = c.customer_id) LEFT JOIN " . DB_PREFIX . "customer_group_description cgd ON (c.customer_group_id = cgd.customer_group_id) WHERE o.customer_id > 0 AND cgd.language_id = '" . (int)$this->config->get('config_language_id') . "'";

Share this post


Link to post
Share on other sites

В OpenCart изнаально не было этих индексов, доабвив пробелма разрешилась:

 

 

alter table order_product add index order_id(order_id);
alter table order add index order_status_id(order_status_id);
alter table order add index customer_order_status_id(customer_order_status_id);
alter table customer_group_description add index language_id(language_id);

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.

Sign in to follow this  

  • 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.