Page 1 of 1

mysql_error положил сервак ((

Posted: Wed Jun 24, 2015 1:36 pm
by richmantrade
На всех доменах сервера внезапно, в один момент, возникла одна и таже ошибка, и это положило сервер на > 30минут.
В script messages:

Code: Select all

Cron Load?: Started at 2015-06-24 07:42:28 but not finished yet at 08:00:28
В логах, в mysql_error.log:

Code: Select all

2015-06-24 08:35:37 : Mysql error: 2006 (MySQL server has gone away) in query SELECT * FROM rot_sponsors as s, rot_sponsors_data as sd
	WHERE s.sponsor_id = sd.sponsor_id and sd.site_id = '0'
	ORDER BY sponsor_name 
2015-06-24 08:35:38 : Mysql error: 2006 (MySQL server has gone away) in query select sm_id from script_messages where message = 'Uncaught exception \'Exception\' with message \'Mysql error:: 2006 (MySQL server has gone away) (db_link) in query SELECT * FROM rot_sponsors as s, rot_sponsors_data as sd
	WHERE s.sponsor_id = sd.sponsor_id and sd.site_id = \'0\'
	ORDER BY sponsor_name. (domain.com) \' in /home/path_to_domain/domain.com/html/scj/includes/db_modules/mysql.php:62
Stack trace:
#0 /home/path_to_domain/domain.com/html/scj/includes/db_modules/mysql.php(75): db_error(\'SELECT * FROM r...\', 2006, \'MySQL server ha...\', \'db_link\')
#1 /home/path_to_domain/domain.com/html/scj/includes/libs/rot_functions.php(0): db_query()
#2 /home/path_to_domain/domain.com/html/scj/bin/rot.php(0): rot_get_sponsors()
#3 {main}
  thrown in /home/path_to_domain/domain.com/html/scj/includes/db_modules/mysql.php'  
2015-06-24 08:37:10 : Mysql error: 2006 (MySQL server has gone away) in query SELECT * FROM rot_models as m
	JOIN rot_models_data as md ON m.model_id = md.model_id and site_id = '0' 
	ORDER BY model_name 
2015-06-24 08:37:11 : Mysql error: 2006 (MySQL server has gone away) in query select sm_id from script_messages where message = 'Uncaught exception \'Exception\' with message \'Mysql error:: 2006 (MySQL server has gone away) (db_link) in query SELECT * FROM rot_models as m
	JOIN rot_models_data as md ON m.model_id = md.model_id and site_id = \'0\' 
	ORDER BY model_name. (domain.com) \' in /home/path_to_domain/domain.com/html/scj/includes/db_modules/mysql.php:62
Stack trace:
#0 /home/path_to_domain/domain.com/html/scj/includes/db_modules/mysql.php(75): db_error(\'SELECT * FROM r...\', 2006, \'MySQL server ha...\', \'db_link\')
#1 /home/path_to_domain/domain.com/html/scj/includes/libs/tpl_functions.php(0): db_query()
#2 /home/path_to_domain/domain.com/html/scj/bin/rot.php(0): get_rot_models()
#3 {main}
  thrown in /home/path_to_domain/domain.com/html/scj/includes/db_modules/mysql.php'  
В настоящий момент остановили кроны (все) - сервак ожил. Ждем ответов :)

Обращался к админу, он сказал - пиши топик, там и будем решать, совместно с разработчиком.
Говорит, кроны плодятся и пухнут. Каждый крон запустился - пришел в базу и сидит.
Есть инфа куда именно обращается процесс (и какая именно база это делает), и что странно - это ИП другого сервера. Запрос http.

Re: mysql_error положил сервак ((

Posted: Wed Jun 24, 2015 2:48 pm
by admin
Запрос с другого сервака к cron.php ?

Re: mysql_error положил сервак ((

Posted: Wed Jun 24, 2015 2:49 pm
by richmantrade
Нет, с этого же.

Re: mysql_error положил сервак ((

Posted: Wed Jun 24, 2015 2:53 pm
by admin
Ну сам запрос простой

SELECT * FROM rot_sponsors as s, rot_sponsors_data as sd
WHERE s.sponsor_id = sd.sponsor_id and sd.site_id = '0'
ORDER BY sponsor_name

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

cron.php обращается к другому серваку - да, это номрально, он тянет тумбы трейдеров, првоеряет страницы трейдеров и тп.

Ну а том что в 1 момент на всех и при этом скрипт то не менялся - значит поменялось что-то другое. Может бекап делается, может еще чего, но ясно что загружен либо диск либо проц если такой запрос к мусклу не может быть выполнен мгновенно.

Re: mysql_error положил сервак ((

Posted: Wed Jun 24, 2015 3:14 pm
by richmantrade
ОК!
Задам вопрос по-другому.
Что именно может так долго работать и зависать ?
Создание тумб трейдеров или грабинг или создание бекапа - а как конкретно проверить ?

Мы используем 6 серверов. Ситуация на них (кол-во доменов, трафика и т.д.) примерно одинаковая, но вот почему то именно на одном сервере, повторюсь мгновенно, кроны убили мускуль. При всем при этом на сервер уже несколько месяцев не добавлялся ни один домен, ничего не менялось и не переделывалось.
Т.е. проблема случилась вдруг....
ЗЫ: Минут 10 назад попробовали запустить кроны - снова всё повисло.

Re: mysql_error положил сервак ((

Posted: Wed Jun 24, 2015 3:17 pm
by admin
те если не запускать кроны - нагрузка на все части сервака очень низкая, только запустили крон - сразу бац и взлетает ?

Тогда запускайте по одному. Запустили домен - смотрим нагрузку.
Если крон долго отрабатывает - смотрим в cron.log что там , может будут идеи
Если отработал быстро - запускаем следующий и так по очереди все пока не найдется момент в который растет нагрузка.