Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Появились медленные запросы


Recommended Posts

# Time: 230515 10:39:58
# User@Host: сайт.com.ua[сайт.com.ua] @ localhost []
# Thread_id: 507466  Schema: сайт.com.ua  QC_hit: No
# Query_time: 9.271988  Lock_time: 0.000160  Rows_sent: 0  Rows_examined: 1222361
# Rows_affected: 10  Bytes_sent: 11
SET timestamp=1684136398;
DELETE
                                    `oc_order`,
                                    oc_order_product,
                                    oc_order_history,
                                    oc_order_option,
                                    
                                    
                                    oc_order_total,oc_order_voucher FROM
                                `oc_order`
                            LEFT JOIN
                                oc_order_product
                            ON
                                oc_order_product.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_history
                            ON
                                oc_order_history.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_option
                            ON
                                oc_order_option.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_total
                            ON
                                oc_order_total.order_id = `oc_order`.order_id 
                            LEFT JOIN
                                oc_order_voucher
                            ON
                                oc_order_voucher.order_id = `oc_order`.order_id WHERE
                                `oc_order`.order_id = '69159'
                            AND
                                `oc_order`.order_status_id = 0;
# Time: 230515 10:42:39
# User@Host: сайт.com.ua[сайт.com.ua] @ localhost []
# Thread_id: 507926  Schema: сайт.com.ua  QC_hit: No
# Query_time: 9.459083  Lock_time: 0.000221  Rows_sent: 0  Rows_examined: 1222377
# Rows_affected: 10  Bytes_sent: 11
SET timestamp=1684136559;
DELETE
                                    `oc_order`,
                                    oc_order_product,
                                    oc_order_history,
                                    oc_order_option,
                                    
                                    
                                    oc_order_total,oc_order_voucher FROM
                                `oc_order`
                            LEFT JOIN
                                oc_order_product
                            ON
                                oc_order_product.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_history
                            ON
                                oc_order_history.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_option
                            ON
                                oc_order_option.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_total
                            ON
                                oc_order_total.order_id = `oc_order`.order_id 
                            LEFT JOIN
                                oc_order_voucher
                            ON
                                oc_order_voucher.order_id = `oc_order`.order_id WHERE
                                `oc_order`.order_id = '69159'
                            AND
                                `oc_order`.order_status_id = 0;

Всем привет! Начал замечать, что при заказе иногда долго обрабатывается запрос (именно в корзине Подтвердить заказ). Поиски привели к медленным запросам БД и логу вот такого содержания (выше). 

Не могу понять, что оно удаляет? 

Link to comment
Share on other sites


Это дичь какая-то. Ищите в кеше модификаций или по коду самих модификаций, кто такое формирует.
В стандартном коде OC3 и ocs3037 ничего похожего не нашёл.

Link to comment
Share on other sites


15.05.2023 в 13:00, rb2 сказал:

Это дичь какая-то. Ищите в кеше модификаций или по коду самих модификаций, кто такое формирует.
В стандартном коде OC3 и ocs3037 ничего похожего не нашёл.

Почему дичь? Это работа Simplecheckout который до 22 года ставился почти на всех магазинах вместе с новой почтой и осфильтром.

1965492360_Screenshot2023-05-15at14_20_04.thumb.png.342a690cf8d30605231920001c497270.png

 

 

Так убедительнее, если у вас стоит Симпл можете проверить, у вас есть такое же.

 

Link to comment
Share on other sites


15.05.2023 в 10:53, Evgenius сказал:
# Time: 230515 10:39:58
# User@Host: сайт.com.ua[сайт.com.ua] @ localhost []
# Thread_id: 507466  Schema: сайт.com.ua  QC_hit: No
# Query_time: 9.271988  Lock_time: 0.000160  Rows_sent: 0  Rows_examined: 1222361
# Rows_affected: 10  Bytes_sent: 11
SET timestamp=1684136398;
DELETE
                                    `oc_order`,
                                    oc_order_product,
                                    oc_order_history,
                                    oc_order_option,
                                    
                                    
                                    oc_order_total,oc_order_voucher FROM
                                `oc_order`
                            LEFT JOIN
                                oc_order_product
                            ON
                                oc_order_product.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_history
                            ON
                                oc_order_history.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_option
                            ON
                                oc_order_option.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_total
                            ON
                                oc_order_total.order_id = `oc_order`.order_id 
                            LEFT JOIN
                                oc_order_voucher
                            ON
                                oc_order_voucher.order_id = `oc_order`.order_id WHERE
                                `oc_order`.order_id = '69159'
                            AND
                                `oc_order`.order_status_id = 0;
# Time: 230515 10:42:39
# User@Host: сайт.com.ua[сайт.com.ua] @ localhost []
# Thread_id: 507926  Schema: сайт.com.ua  QC_hit: No
# Query_time: 9.459083  Lock_time: 0.000221  Rows_sent: 0  Rows_examined: 1222377
# Rows_affected: 10  Bytes_sent: 11
SET timestamp=1684136559;
DELETE
                                    `oc_order`,
                                    oc_order_product,
                                    oc_order_history,
                                    oc_order_option,
                                    
                                    
                                    oc_order_total,oc_order_voucher FROM
                                `oc_order`
                            LEFT JOIN
                                oc_order_product
                            ON
                                oc_order_product.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_history
                            ON
                                oc_order_history.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_option
                            ON
                                oc_order_option.order_id = `oc_order`.order_id
                            LEFT JOIN
                                oc_order_total
                            ON
                                oc_order_total.order_id = `oc_order`.order_id 
                            LEFT JOIN
                                oc_order_voucher
                            ON
                                oc_order_voucher.order_id = `oc_order`.order_id WHERE
                                `oc_order`.order_id = '69159'
                            AND
                                `oc_order`.order_status_id = 0;

Всем привет! Начал замечать, что при заказе иногда долго обрабатывается запрос (именно в корзине Подтвердить заказ). Поиски привели к медленным запросам БД и логу вот такого содержания (выше). 

Не могу понять, что оно удаляет? 

Симпл собирает Брошенные корзины. И вот он его создает со статусом 0, и если вы подтверждаете заказ, он удаляет брошенный. 

 

Может индексов и ключей у вас в базе не хватает и от того так долго происходит все это дело. 

Link to comment
Share on other sites


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

Может вспомните, может менялось что-то тогда.

 

И это мы же предполагаем, что вы как минимум контроллируете состояние сервера. Может там CPU под 100% все время и никто не замечает... конечно будут запросы по 10сек :)

 

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

 

1) пройтись по всем тем oc_order таблицам, нормально ли что в них так много записей? зачистить лишний хлам.

2) проверить что там с индексами у используемых в запросе полях.

Link to comment
Share on other sites


В общем, там минимум у 3 таблиц не хватает нужных индексов (или 4). При беглом осмотре.


Так что много шансов, что 9 секунд на запрос превратятся в 0.
Это лечится.
 

  • +1 1
Link to comment
Share on other sites


  • 2 weeks later...
15.05.2023 в 20:54, rb2 сказал:

В общем, там минимум у 3 таблиц не хватает нужных индексов (или 4). При беглом осмотре.


Так что много шансов, что 9 секунд на запрос превратятся в 0.
Это лечится.
 

Вы правы, пересмотрели БД, добавили индексы - запрос с 9 превратился в 1.27

Link to comment
Share on other sites


Если это не какая-то фоновая cron-задача, а в процессе генерации страницы происходит, то это все равно ужасно медленно.

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.