Перейти к содержанию
CorbanDallas

Хостер ограничил доступ к БД из-за длительного выполнения запросов к базе данных MySQL

Рекомендуемые сообщения

Сегодня утром получил письмо от хостера:

 

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

Уважаемый клиент!

Уведомляем, что на Вашем аккаунте с логином <mysite> зафиксировано длительное выполнение запросов к базе данных MySQL с именем <mysite>. Запросы к БД MySQL выполнялись более 10 секунд и использовали более 50% мощности процессора. По этой причине доступ к Вашей БД был временно приостановлен.

Указанная мера была принята по той причине, что описанная ситуация является нарушением пункта 2.11 приложения №1 к публичной оферте:

===

Не допускается возникновение нагрузок на процессоры серверов, задействованных при оказании услуг (за исключением тарифных планов «VDS»), любыми процессами пользователей, создающими нагрузку на любой процессор, если нагрузка превышает следующие лимиты:
...
 - длится более 10 секунд и задействует более 50% мощности процессора.
...
К процессам пользователя относятся процессы, запущенные и/или работающие с полномочиями (UID,EUID) того unix-пользователя, который ассоциирован с аккаунтом (определяется при создании аккаунта), а также те процессы/потоки(threads), которые являются системными и запущены от имени системных пользователей, в то время, когда они занимаются обработкой данных, которая была инициирована иными процессами пользователя (MySQL-потоки, запускаемые под системным пользователем mysql, процессы и/или потоки веб-сервера Apache, запускаемые под системным пользователем nobody и прочее).

===

Также о недопустимости превышения установленных лимитов указывается в п. 2.1 данного документа:

===

Не допускается превышение лимитов услуг (ресурсов), предоставляемых Исполнителем в соответствии с используемым Заказчиком тарифным планом.

===

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

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

При возникновении дополнительных вопросов просьба также задавать их в ответ на данное письмо.

Информация о превышении:

 

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

Уважаемый клиент!

Уведомляем, что на Вашем аккаунте с логином <mysite> зафиксировано длительное выполнение запросов к базе данных MySQL с именем <mysite>. Запросы к БД MySQL выполнялись более 10 секунд и использовали более 50% мощности процессора. По этой причине доступ к Вашей БД был временно приостановлен.


Указанная мера была принята по той причине, что описанная ситуация является нарушением пункта 2.11 приложения №1 к публичной оферте:

===

Не допускается возникновение нагрузок на процессоры серверов, задействованных при оказании услуг (за исключением тарифных планов «VDS»), любыми процессами пользователей, создающими нагрузку на любой процессор, если нагрузка превышает следующие лимиты:
...
 - длится более 10 секунд и задействует более 50% мощности процессора.
...
К процессам пользователя относятся процессы, запущенные и/или работающие с полномочиями (UID,EUID) того unix-пользователя, который ассоциирован с аккаунтом (определяется при создании аккаунта), а также те процессы/потоки(threads), которые являются системными и запущены от имени системных пользователей, в то время, когда они занимаются обработкой данных, которая была инициирована иными процессами пользователя (MySQL-потоки, запускаемые под системным пользователем mysql, процессы и/или потоки веб-сервера Apache, запускаемые под системным пользователем nobody и прочее).

===

Также о недопустимости превышения установленных лимитов указывается в п. 2.1 данного документа:

===

Не допускается превышение лимитов услуг (ресурсов), предоставляемых Исполнителем в соответствии с используемым Заказчиком тарифным планом.

===

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

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

При возникновении дополнительных вопросов просьба также задавать их в ответ на данное письмо.

Информация о превышении:

> | 3374747 | mysite    | localhost | mysite    | Query          | 0    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM

> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3374814 | mysite    | localhost | mysite    | Sleep          | 339  |
>                 |
>                                     |
> | 3375131 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375143 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375168 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375177 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375205 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375216 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375221 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375228 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375233 | mysite    | localhost | mysite    | Query          | 4    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375239 | mysite    | localhost | mysite    | Sleep          | 166  |
>                 |
>                                     |
> | 3375240 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375243 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375254 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375257 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375261 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375264 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375274 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375278 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375285 | mysite    | localhost | mysite    | Query          | 1    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375290 | mysite    | localhost | mysite    | Sleep          | 136  |
>                 |
>                                     |
> | 3375291 | mysite    | localhost | mysite    | Query          | 4    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375303 | mysite    | localhost | mysite    | Query          | 4    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375322 | mysite    | localhost | mysite    | Query          | 0    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375331 | mysite    | localhost | mysite    | Query          | 4    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375337 | mysite    | localhost | mysite    | Query          | 4    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375436 | mysite    | localhost | mysite    | Query          | 4    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375442 | mysite    | localhost | mysite    | Query          | 0    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375451 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375455 | mysite    | localhost | mysite    | Query          | 0    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_product_to_category p2c LEFT JOIN mb_product p  |
> | 3375463 | mysite    | localhost | mysite    | Sleep          | 106  |
>                 |
>                                     |
> | 3375464 | mysite    | localhost | mysite    | Query          | 0    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375468 | mysite    | localhost | mysite    | Query          | 0    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375480 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375483 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375494 | mysite    | localhost | mysite    | Query          | 5    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375497 | mysite    | localhost | mysite    | Query          | 4    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375502 | mysite    | localhost | mysite    | Query          | 4    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375512 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375521 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375531 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375547 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375552 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375561 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375565 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375580 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375581 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375582 | mysite    | localhost | mysite    | Sleep          | 50   |
>                 |
>                                     |
> | 3375600 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375609 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375619 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375621 | mysite    | localhost | mysite    | Query          | 2    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375632 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375636 | mysite    | localhost | mysite    | Sleep          | 20   |
>                 |
>                                     |
> | 3375637 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375655 | mysite    | localhost | mysite    | Query          | 5    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375662 | mysite    | localhost | mysite    | Query          | 3    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_category_path cp LEFT JOIN mb_product_to_catego |
> | 3375677 | mysite    | localhost | mysite    | Query          | 1    |
> Sending data       | SELECT COUNT(DISTINCT p.product_id) AS total FROM
> mb_product_to_category p2c LEFT JOIN mb_product p  |
> | 3375683 | mysite    | localhost | mysite    | Query          | 2    |
> executing          | SELECT p.product_id, (SELECT AVG(rating) AS total FROM
> mb_review r1 WHERE r1.product_id = p.product_ |

 

 

После разговора со службой поддержки мне посоветовали сменить пароль от БД, и оптимизировать её работу. Честно говоря просто в тупике. Сайт висит на хостинге уже несколько месяцев и никогда подобных проблем не возникало. Никаких манипуляций с сайтом последнее время мной так же не производилось. Собственно главный вопрос, что могло стать причиной данной проблемы и как можно её решить? Сайт на данный момент просто не работает. Заранее спасибо за любую помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В личке контакты. Есть вашим проблемам панацея

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зайди вот сюда:

https://github.com/atomixdesign/opencart-turbo

 

там файл: tupbo.php

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

Этот скрипт проставит индексы в твоей базе и выдаст отчет где поставил.

 

До кучи этот скрипт предлагает конвертировать MySQL DB Storage Engine в MyISAM to InnoDB, но я не знаю что это такое и нажимать туда не стал.

Может знающие люди объяснят что это и чем это едят.

 

P.S.

еще можете почитать вот эту тему

http://forum.opencart.com/viewtopic.php?p=505802

Изменено пользователем diskbox

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CorbanDallas, удалось решить проблему? Если не секрет, то как? А то сегодня аналогичное извещение получил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CorbanDallas, удалось решить проблему? Если не секрет, то как? А то сегодня аналогичное извещение получил.

Я эту проблему решил скриптом, ссылку на который дал чуть выше. Больше хостер не возмущается :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да я скрипт тоже поставил, но мне ошибку выдает 

 

Error: Unable to retrieve DB Table List

 

Я так понимаю из-за хостера - доступа то к БД нет. Т.е. сначала нужно просить хостера возобновить доступ, а потом скрипт в работу запускать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скорее всего так и есть. Хостер закрыл вам доступ к MySQL.

Тогда скрипт не поможет. Если есть backup базы - на локальном компе оптимизируйте ее (в Денвере например) и потом скажите хостеру что все поправили.

 

P.S.

Хостер не 1gb.ru случайно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так и поступлю. нет sweb закрыл, что само по себе странно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.