SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 21.01.2009 11:43:44

Hafner
Участник
Откуда: Москва
Зарегистрирован: 21.01.2009
Сообщений: 16

Задержки при коннектах к MySQL

Доброго времени суток!

Столкнулся со следующей проблемой:

1. На сервере установлена сборка "wampserver" с мускулом 5, управление последним осуществляется с помощью "navicat".
2. На отдельном сервере в локальной сети установлены игровые сервера, которые в процессе своей работы при коннекте нового игрока обращаются к базе данных (см. пункт выше) для получения определенной информации.
3. Суть проблемы в том, что когда происходят так называемые обращения к базе данных, описанные в п.2 (т.е. при заходе на сервера новых игроков или выполнении на сервере команды, которая сверяет данные с базой данных) - возникают задержки (10-20 секунд) в следствии чего сервера периодически полностью подвисают на 5-20 секунд.

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

Заранее благодарен за любую помощь!

ЗЫ и ещё, сейчас все сервера стоят на win2k3, раньше стояли на 2008 винде и проблем таких не наблюдалось, хотя веб-сервер был аналогичный. Всё началось после переноса баз на новую ось...

Отредактированно Hafner (22.01.2009 11:32:06)

Неактивен

 

#2 21.01.2009 13:09:02

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Задержки при коннектах к MySQL

Ну, желательно посмотреть show processlist во время задержки - какие процессы выполняют
какие запросы. Скорее всего, это скажет, в чем проблемы.

Можно включить slow query log - длинные запросы попадут в лог - их тоже можно поизучать.
Если на 2008 винде стоял 5.0, то, может быть, имеет смысл поставить его и посмотреть, как
себя будет вести система.

Неактивен

 

#3 21.01.2009 14:22:51

Hafner
Участник
Откуда: Москва
Зарегистрирован: 21.01.2009
Сообщений: 16

Re: Задержки при коннектах к MySQL

paulus написал:

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

Нет, сборка там была идентичная.
На счет логов и процесс листа - вечером, как доберусь до сервера, выложу обязательно. Я тут читал в соседних темах, что "skip-name-resolve" может по-идее помочь при задержках? В моем случае это имеет место быть? Только вечером смогу проверить...

Неактивен

 

#4 21.01.2009 15:03:55

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Задержки при коннектах к MySQL

skip-name-resolve уберет таймаут при соединении. На активных соединениях он никак не может
отразиться.

Неактивен

 

#5 21.01.2009 21:49:42

Hafner
Участник
Откуда: Москва
Зарегистрирован: 21.01.2009
Сообщений: 16

Re: Задержки при коннектах к MySQL

paulus написал:

Ну, желательно посмотреть show processlist во время задержки - какие процессы выполняют
какие запросы. Скорее всего, это скажет, в чем проблемы.

676    unauthenticated user    xx.xx.xxx.xx:2868        Connect        *** DEAD ***   
677    unauthenticated user    xx.xxx.xxx.xx:1107        Connect        login   

Я заметил, что остальные процессы определяют корректно юзера и зависаний нет, а тут возможно из-за этого "unauthenticated user", тогда как исправить?

Неактивен

 

#6 22.01.2009 01:23:41

Hafner
Участник
Откуда: Москва
Зарегистрирован: 21.01.2009
Сообщений: 16

Re: Задержки при коннектах к MySQL

paulus написал:

skip-name-resolve уберет таймаут при соединении. На активных соединениях он никак не может
отразиться.

Так ведь у меня и происходят зависания именно при коннектах к базе с удаленной машины в случае "не определения юзера", но иногда юзер определяется норм и быстро - в таких случаях зависания отсутствуют.

Вобщем сделал следующее:
- прописал skip-name-resolve
- добавил в hosts на сервере домен и ip клиента, который коннектится к серверу или наоборот надо? и как быть, если у клиента нет доменного имени?

Проблема актуальна =/

P.S. кстати с мускулом наврал, 5 стоит сейчас на 2003 и стоял на 2008 раньше...

Отредактированно Hafner (22.01.2009 11:45:02)

Неактивен

 

#7 22.01.2009 16:02:31

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Задержки при коннектах к MySQL

ненене, в случае с тормозами dns тупил бы только подсоединяющийся поток. На производительности
других потоков он никак не может сказаться. Если у Вас проблема только в том, что долго соединяется
подключающийся поток - то на стороне сервера сделать skip-name-resolve с грантами по IP и на стороне
клиента соединяться по IP. Ну и наблюдать, есть ли лаги в сети.

Неактивен

 

#8 22.01.2009 16:51:00

Hafner
Участник
Откуда: Москва
Зарегистрирован: 21.01.2009
Сообщений: 16

Re: Задержки при коннектах к MySQL

Ещё разочек попробую объяснить ситуацию :-)

Первое:

Hafner написал:

2. На отдельном сервере в локальной сети установлены игровые сервера, которые в процессе своей работы при коннекте нового игрока обращаются к базе данных для получения определенной информации.

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

Второе:

В результате коннекта клиента к мускулу в процесс-листе последнего выходит либо:
677    unauthenticated user    IP:1107        Connect        login   
Либо строка в которой указан зарегестрированный пользователь - в этом именно случае лагов нет.

По какой-то причине база не сразу определяет пользователя, хотя пользователь в базе заведен и явно указан в коннекте. Подключение к базе было всегда прописано по айпи в таком виде user@ip
И вообще коннектов к базе порядка 150-200 в минуту. Ещё хочу сообщить следующий факт, может поможет в понимании и помощи в решении проблемы: клиент по идее одновременно отправляет сразу 2 запроса, т.е. в игре стоит 2 скрипта, которые при заходе нового игрока соединяются с базой по одинаковому user@ip и отправляют назад информацию пропускать этого игрока или нет. Может тут где косяк? Для этих 2-х скриптов сделать отдельного юзера?

Если честно перепробывал уже кучу вариантов, несколько часов гуглил и на зарубежных сайтах нашел похожую ситуацию, там также говорили о днс и о skip-name-resolve, однако по комментариям кому-то это помогало, а кому-то нет...

Ещё для информации: пинг между машинами мизерный <1ms стабильный, без потерь.

Можете ещё что-нибудь посоветовать, кроме того, что переносить базу на локалхост?))

Отредактированно Hafner (22.01.2009 16:54:03)

Неактивен

 

#9 22.01.2009 17:08:32

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Задержки при коннектах к MySQL

А, я понял, проблема не в MySQL, а в сервере, который не обрабатывает игру, пока не соединится с MySQL.

200 коннектов в минуту - с одной стороны не много, а с другой стороны - нельзя ли их переделать в persistent?
Если дело именно в подключении, то пробуйте перекинуть все на IP без DNS (включая skip-name-resolve
и гранты по IP).

Возможно, дело не в том, что MySQL не успевает авторизовать. Симптомы будут абсолютно те же, если сервер
игры тупит сам по себе (по независящим от MySQL причинам) и при этом не логинится в MySQL, т.к. не отсылает
ему пакеты для завершения авторизации.

Неактивен

 

#10 22.01.2009 17:15:12

Hafner
Участник
Откуда: Москва
Зарегистрирован: 21.01.2009
Сообщений: 16

Re: Задержки при коннектах к MySQL

paulus написал:

200 коннектов в минуту - с одной стороны не много, а с другой стороны - нельзя ли их переделать в persistent?

Боюсь, что этого не получится.

paulus написал:

Если дело именно в подключении, то пробуйте перекинуть все на IP без DNS (включая skip-name-resolve
и гранты по IP).

Простите, а что именно всё?) Базу мускула? Просто на сервере нужен днс и это не выход=/

Отредактированно Hafner (22.01.2009 17:19:47)

Неактивен

 

#11 22.01.2009 17:17:17

Hafner
Участник
Откуда: Москва
Зарегистрирован: 21.01.2009
Сообщений: 16

Re: Задержки при коннектах к MySQL

К этой базе данных коннект идет даже не с одной, а с двух машин и на обоих есть задержки при коннектах...

Неактивен

 

#12 22.01.2009 19:14:47

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Задержки при коннектах к MySQL

А есть ли таймаут при тупом telnet servername 3306?

Неактивен

 

#13 22.01.2009 23:54:55

Hafner
Участник
Откуда: Москва
Зарегистрирован: 21.01.2009
Сообщений: 16

Re: Задержки при коннектах к MySQL

paulus написал:

А есть ли таймаут при тупом telnet servername 3306?

Нету.

Ещё провел тестирование, зависаний нет если на игровом сервере оставляю только один плагин, производящий коннект к базе, как только включаю второй, так сразу начинают появляться неаутентифицированные юзеры и зависания начинаютсяsad

Так в чем же может быть проблема, в неверном коннекте к базе?=/

Неактивен

 

#14 23.01.2009 14:51:26

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Задержки при коннектах к MySQL

У меня стойкое ощущение, что дело не в MySQL, а во втором плагине. Он сам по себе что-то
делает, что запрещено. Попробуйте поснифать, может, он пытается куда-то обратиться сначала?

Неактивен

 

#15 12.06.2010 17:40:05

wext
Участник
Зарегистрирован: 12.06.2010
Сообщений: 5

Re: Задержки при коннектах к MySQL

Похожая ситуация.
Задержка при соединении к localhost составляет 500мс о_О

Стоит win7 х64.
Такие лаги были еще и на висте пару дней назад, но на время подключения я тогда не обратил внимания.
Юзал версии: mysql-5.1.40, mysql-5.1.47 - одинакого.
В конфиге поставил как 50 конкурентных соединений, так и 500 - одинакого.

Вот что в пишет мне netstat (на висте было аналогично):

Код:

  TCP    127.0.0.1:3306         127.0.0.1:59870        TIME_WAIT
  TCP    127.0.0.1:3306         127.0.0.1:59871        TIME_WAIT
  TCP    127.0.0.1:3306         127.0.0.1:59872        TIME_WAIT
  TCP    127.0.0.1:3306         127.0.0.1:59873        TIME_WAIT

еще 600 таких строк...

  TCP    127.0.0.1:3306         127.0.0.1:60667        TIME_WAIT
  TCP    127.0.0.1:3306         127.0.0.1:60668        TIME_WAIT
  TCP    127.0.0.1:3306         127.0.0.1:60669        TIME_WAIT
  TCP    127.0.0.1:3306         127.0.0.1:60670        TIME_WAIT
  TCP    127.0.0.1:3306         127.0.0.1:60671        ESTABLISHED
  TCP    127.0.0.1:3306         127.0.0.1:60672        ESTABLISHED
  TCP    127.0.0.1:3306         127.0.0.1:60673        ESTABLISHED
  TCP    127.0.0.1:3306         127.0.0.1:60674        ESTABLISHED
  TCP    127.0.0.1:3306         127.0.0.1:60675        ESTABLISHED
  TCP    127.0.0.1:59887        127.0.0.1:3306         TIME_WAIT
  TCP    127.0.0.1:59889        127.0.0.1:3306         TIME_WAIT
  TCP    127.0.0.1:59896        127.0.0.1:3306         TIME_WAIT

еще сотка-другая таких строк

  TCP    127.0.0.1:60643        127.0.0.1:3306         TIME_WAIT
  TCP    127.0.0.1:60644        127.0.0.1:3306         TIME_WAIT
  TCP    127.0.0.1:60649        127.0.0.1:3306         TIME_WAIT
  TCP    127.0.0.1:60662        127.0.0.1:3306         TIME_WAIT
  TCP    127.0.0.1:60668        127.0.0.1:3306         TIME_WAIT
  TCP    127.0.0.1:60671        127.0.0.1:3306         ESTABLISHED
  TCP    127.0.0.1:60672        127.0.0.1:3306         ESTABLISHED
  TCP    127.0.0.1:60673        127.0.0.1:3306         ESTABLISHED
  TCP    127.0.0.1:60674        127.0.0.1:3306         ESTABLISHED
  TCP    127.0.0.1:60675        127.0.0.1:3306         ESTABLISHED

Вирусни нету, уверен на 90%.
скрин с php my admin, что творится с подключениями:
http://images.netbynet.ru/thumbs/9b16a31232f6fea12f4b9643c9d40f1a.jpg

На борту:
1) www.site.ru сайт
3) forum.site.ru форум на SMF.
Как раз пару дней назад с ним пошла магия в виде "smf_log_actions активна", т.е. открыть нельзя. Самое интересное, что эту БД я даж отрубил, а она все равно "активна". Как? %)
4) Пару девелоперских скриптов и пхп май админ
5) Парочка игровых серверов (походу проблема не в них, т.к. я в них все конекты к БД поотрубал, а проблема осталась).

Отредактированно wext (12.06.2010 17:45:59)

Неактивен

 

#16 12.06.2010 17:55:10

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Задержки при коннектах к MySQL

--skip-name-resolve и права через ip включайте.

Неактивен

 

#17 12.06.2010 18:58:14

wext
Участник
Зарегистрирован: 12.06.2010
Сообщений: 5

Re: Задержки при коннектах к MySQL

Не подскажете где указать параметр запуска?
В службах мускл остановил, указал параметр, сохранил и нажал старт. Походу не але sad
испольняемый файл все равно:
"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" "MySQL"

В гуишке к mysql тож не нашел sad


//added: в my.ini добавил skip-name-resolve - не пускает sad
Как права через ИП проставить я не знаю. Да и используется у меня несколько юзеров на 1 машине.

Отредактированно wext (12.06.2010 19:04:00)

Неактивен

 

#18 12.06.2010 19:29:01

wext
Участник
Зарегистрирован: 12.06.2010
Сообщений: 5

Re: Задержки при коннектах к MySQL

Всё, четко нашел skip-name-resolve, однако тада как права раздавать? %)

Неактивен

 

#19 12.06.2010 20:47:42

wext
Участник
Зарегистрирован: 12.06.2010
Сообщений: 5

Re: Задержки при коннектах к MySQL

Вобщем сделал все как сказали - та же беда sad

Почему-то досит апач. Попробую переставить на днях.

//added: не, проблема не в кол-ве подключений sad
//added: кстати, это проблемы не решило. Проблема не в этом sad

Отредактированно wext (12.06.2010 22:46:23)

Неактивен

 

#20 16.07.2010 03:34:57

wext
Участник
Зарегистрирован: 12.06.2010
Сообщений: 5

Re: Задержки при коннектах к MySQL

Проблему решил:
перепробовал уйму версий mysql5, начал грешить на вин7. Поставил другой дистр - та же беда.
Вспомнил, что у друга на вин7 все окей - сгонял за диском, поставил и сразу же начистую тестирую - всё отлично. Ставлю мой любимый пакет программ и тут снова такая байда. Открываю список установленных программ и смотрю что же может мешать. Удаляю NOD32 и вуаля, все работает найс.
Перекачал нод с офф сайта, работает нормально.

Happy end big_smile

Неактивен

 

#21 16.07.2010 12:50:19

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Задержки при коннектах к MySQL

Хм. Интересно, надо взять на заметку, что под виндой антивирусы перехватывают
соединения smile Спасибо smile

Неактивен

 

#22 12.01.2011 17:45:36

lil2006
Участник
Зарегистрирован: 12.01.2011
Сообщений: 10

Re: Задержки при коннектах к MySQL

Господа..хз..у меня вот какая задержка при коннекте...
1) Стоит мускул 5.1
2) Поставил Workbench 5.2.30 CE
3)Есть клиентская программа...писал сам.
И так когда сервер висит на localhost соединение проходит нормально(быстро).но смысл от сервера если он висит на петле...прописал в файле my-medium.ini ip своей сетевой карты..перезапустил сервер зашёл в админ зону. И вот заметил,что вход в админку через Workbench занял примерно 5 сек ,ну думаю ладно,что тут ждать...Затем думаю проверю как работает моя программа по сравнению с тем когда сервак висел на localhost и о боже я заметил,что задержка тоже в 5-6 сек, и это плохо...
Сам вопрос почему так долго.?

Неактивен

 

#23 12.01.2011 18:36:21

lil2006
Участник
Зарегистрирован: 12.01.2011
Сообщений: 10

Re: Задержки при коннектах к MySQL

И ещё есть вопрос,почему сервер не разрешает хранить базы на другом сетевом диске..во всяком случае у меня это не получилось.
что делаю не так..прописывал в конфиг файле пути,но там всё равно баз нет...а вот при установке мускула,говорю куда писать базы,но при старте сервиса висит..говорит не может создать lower.test ...

Неактивен

 

#24 12.01.2011 21:25:12

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Задержки при коннектах к MySQL

А почему Вы решили поднять полугодовалую тему при этом? smile

skip-name-resolve пропишите, чтобы избавиться от таймаутов ненастроенного
DNS. А сетевой диск — наверное, прав не хватает на эксклюзивную блокировку
по сети? Смысла в сетевом диске MySQL, впрочем, не вижу никакого.

Неактивен

 

#25 13.01.2011 00:39:54

lil2006
Участник
Зарегистрирован: 12.01.2011
Сообщений: 10

Re: Задержки при коннектах к MySQL

почему решил поднять..ну вот почитал о проблеме..у меня оказалась такая же. решил спросить как быть мне.)))
Спасибо за ответ сейчас буду выяснять.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson