SA-MP Forums Archive
[Mysql] Потеря связи/огромные задержки с базой - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: [Mysql] Потеря связи/огромные задержки с базой (/showthread.php?tid=513886)



[Mysql] Потеря связи/огромные задержки с базой - SmileyCoder - 18.05.2014

Здравствуйте. Хочу сразу сказать, что в районе 930 страниц курилки находил проблему, похожую на мою, но конкретного ответа там не увидел. Задал там же вопрос - ответа не поступило.
Суть проблемы:
Проблема возникает при большом наплыве игроков(авторизаций). Появляются задержки в отображении диалогового окна, и, если в течении 10-15сек оно не появляется, то есть ответ базы отрицательный, хотя в базе есть аккаунт. К тому же, если игрок выйдет с сервера, предварительно авторизировавшись и не дождавшись ответа от базы, и на его место зайдёт другой - в течении некоторого времени паблик, вызванный предыдущим игроком "доходит" и подгружается аккаунт предыдущего игрока, заходившим под этим ID.
В этот момент в логе mysql только сообщения типа:
[18:34:40] >> mysql_query_callback( Connection handle: 1 ).
При этом phpMyAdmin работает нормально.
Как можно решить данную проблему?


Re: [Mysql] Потеря связи/огромные задержки с базой - Stepashka - 18.05.2014

MySQL (F.A.Q.) раздел ключи.


Re: [Mysql] Потеря связи/огромные задержки с базой - SmileyCoder - 18.05.2014

После переноса ключа в поле "Name", запрос стал обрабатываться дольше, чем было(Измерял ф-цией GetTickCount. Было 20-21 мс, стало - 25 мс, на локалке).
P.S. при "отказе" базы в работе с сервером это время увеличивается до 600000+.


Re: [Mysql] Потеря связи/огромные задержки с базой - SmileyCoder - 26.05.2014

UP:
Данная проблема возникает совершенно рандомно. Не всегда фактором есть онлайн. При этом в processlist базы выполняется команда Sleep, и другие запросы просто не доходят до неё(От сервера).


Re: [Mysql] Потеря связи/огромные задержки с базой - Stepashka - 26.05.2014

Quote:
Originally Posted by SmileyCoder
Посмотреть сообщение
UP:
Данная проблема возникает совершенно рандомно. Не всегда фактором есть онлайн. При этом в processlist базы выполняется команда Sleep, и другие запросы просто не доходят до неё(От сервера).
Для начала нужно точно определить кто тупит, сервер или база.


Re: [Mysql] Потеря связи/огромные задержки с базой - SmileyCoder - 26.05.2014

Локальные запросы выполняются(базы), но в тоже время сервер отправляет запросы к базе(тоесть, сервер тоже работает), но они не доходят. Соединение, вроде как, не теряется, а только перестаёт функционировать. Может ли это быть влиянием какого либо рода инъекции?
Хотя, сейчас попробовал отправлять запросы без подключения к базе - в логах выводит те же ">> mysql_query_callback( Connection handle: 1 )". То есть, по факту, соединение теряется, но, в базе висит запрос с командой sleep. Из-за чего оно может теряться?


Re: [Mysql] Потеря связи/огромные задержки с базой - SmileyCoder - 29.05.2014

UP....


Re: [Mysql] Потеря связи/огромные задержки с базой - mrfriz - 31.05.2014

А не получается так, что когда входят два игрока, то логин и одного и другого записывается в одну и ту же переменную, которую в будущем нужно будет сравнить со строками в базе?


Re: [Mysql] Потеря связи/огромные задержки с базой - SmileyCoder - 31.05.2014

Нет. Логин записывается в массив, в котором ID игрока = ячейка массива.


Re: [Mysql] Потеря связи/огромные задержки с базой - SmileyCoder - 30.06.2014

Действительно. При онлайне свыше 100 человек теряется связь с базой данных(Но не всегда). Помогает только реконнект. Из-за чего это может происходить?