сильно затянулся ап до 51

Post Reply
serge
Posts: 930
Joined: Mon Mar 14, 2011 7:53 am

сильно затянулся ап до 51

Post by serge »

Сайт с базой примерно 500к галер + 24 слейва, запустил ап на 51... уже часа два жду его завершения, пока дошло только вот до сюда:
Checking indexes rot_gal2tag
Adding index to rot_gal2group

мускул прилег из-за слишком большого числа подключений, увеличили это значение, через какое-то время снова лег... cpu под 100 процентов и прочие прелести... сервер как будто на пределе... при этом не понятно сколько это будет продолжаться... такую большую базу с 50 до 51 еще не обновлял. Что делать, ждать уже до конца или может быть стоит скинуть и есть способ провернуть это менее "болезненно", например?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: сильно затянулся ап до 51

Post by admin »

Создает инедкс в большй таблице, при 500к думаю та таблица пару М
При этом база нагружена обычным траффиком и это конечно азмедляет процесс
Сколько это займет времени я не знаю, потому что с моей стороны это 1 запрос в базу аля "создать ключ" а насколько он быстро будет выполнен зависит от базы, сервака, нагрузки и тп.

Можно ждать, можно скинуть и запустить по новой - оно все равно будет пытаться создать этот индекс.

Провернуть безболезненно можно напрмиер скопировав базу куда то где нет нашрузки\трафа, запустить ап, база проапдейтится и уже обновленную базу скопировать на нагруженный сайт.
Don't forget to run script update
serge
Posts: 930
Joined: Mon Mar 14, 2011 7:53 am

Re: сильно затянулся ап до 51

Post by serge »

а если скинуть и потом запустить, то все заново придется ждать? или может он просто доделает то, что не успел?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: сильно затянулся ап до 51

Post by admin »

Скрипт апдейта делает так

if (индекса нет) {
sql command : создать индекс
}

соответственно ответ на ваш вопрос всецело лежит в области mysql - в каком он состоянии будет так и получится.
Don't forget to run script update
serge
Posts: 930
Joined: Mon Mar 14, 2011 7:53 am

Re: сильно затянулся ап до 51

Post by serge »

никак чет ап не осилить... сегодня повторно запустил, часов 6 прошло - результата нет все еще... такой вопрос, если я всех слейвов отключу, проведу ап на мастере и на слейвах поотдельности и потом их подключу, это вариант или нет?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: сильно затянулся ап до 51

Post by admin »

Если у вас так же стоит на создании индекса то самый конкретные ответ - надо создать инедкс в таблице rot_gal2group ADD PRIMARY KEY ( `group_id` , `gal_id` )

Как вы понимаете созданием индекса занимается mysql и со скриптом это никак не связано.

Можете создать этот индекс любым удобным вам способом и апдейт пройдет быстро.
Don't forget to run script update
serge
Posts: 930
Joined: Mon Mar 14, 2011 7:53 am

Re: сильно затянулся ап до 51

Post by serge »

да, опять стоит на Adding index to rot_gal2group
Админы говорят, что в данный момент кол-во подключений MySQL уже превысило 5000, используется ~20 ГБ RAM при общем объёме 32 ГБ. Рост нагрузки такими темпами вскоре приведёт к исчерпанию ресурсов сервера.

Что характерно, большая часть MySQL-подключений установлена с IP-адресов слейвов этого сайта. Поэтому я и подумал, что если их отключить, то апдейт будет завершен. На счет, любого удобного мне способа - я не очень понимаю. Для меня удобный способ, это запустить строчку апдейта и подождать немного. ;) Все остальное, это уже надо давать поручение админам, но я из вашего ответа даже не совсем четко представляю что попросить их сделать (чтобы поняли что именно требуется и сделали это правильно)
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: сильно затянулся ап до 51

Post by admin »

Я тоже не знаю как вам понятнее это объяснить
Попросите например админа почитать эту тему
Скирпт тут ничего сделать не может, все делает база
база зависит от админа и в целом 5к коннектов на базу это явно ошибочное решение по моему мнению
я рекомендую вам на время апедйта закрыть вообще все соединения к базе, кроме конкретно соединения которое делает обновление.
Если это теож не ясно - приглашайте сюда админа, будем с ним обсуждать что именно не ясно.
Don't forget to run script update
serge
Posts: 930
Joined: Mon Mar 14, 2011 7:53 am

Re: сильно затянулся ап до 51

Post by serge »

в итоге заблокировали внешние подключения к MySQL на уровне фаервола и апдейт прошел за 15 минут :)
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: сильно затянулся ап до 51

Post by admin »

Отлично, те вопрос в том что запрос тяжелый, а база была сильно нагружена. Те можно было б и просто на ненагруженной базе тоже самое сделать и скопировтаь базу например.
Don't forget to run script update
Post Reply