MySQL нагрузка
#1

иногда при онлайне > 130 бывает так, что не появляется окно авторизации.
думаю, что это со стороны mysql сервера
mysql от ru-hoster
хотел спросить, это нормальные данные?
[spoiler][/spoiler]

__
и есть, те кто кто пользуется mysql ру-хостера?
Reply
#2

может код покажите который отвечает за mysql?
Reply
#3

что за "вопросы" ?
Reply
#4

Я использую. Столкнулся с проблемой дикой задержки выполнения запросов...
Reply
#5

Держать сервер с маломальски нормальным онлайном на рухостере - кощунство. А так, учитесь расставлять индексы в БД, а затем делать поиск по ним.
Reply
#6

бывает так, что у зарегистрированного игрока показывается окно регистрации вместо авторизации (при онлайне выше 130).
вот код:
PHP код:
format(stringsizeof(string), "SELECT * FROM `accounts` WHERE BINARY `name` = '%s'"PlayerName(playerid));
            
mysql_function_query(connectionstringtrue"CheckLogin""i"playerid); 
PHP код:
public CheckLogin(playerid)
{
    new 
rowsfields;
    
cache_get_data(rowsfieldsconnection);
    if(
rowsShowPlayerLoginDialog(playerid);
    else 
ShowPlayerRegisterDialog(playerid);
    return 
true;

Reply
#7

что посоветуете?
может попробовать купить другой MySQL сервер?
Reply
#8

if(rows) ShowPlayerLoginDialog(playerid);
else ShowPlayerRegisterDialog(playerid);
код обоих в студию.
`name` = '%s' - индекс? И с какого хрена BINARY?
Reply
#9

почему так муторно?
pawn Код:
format(string, sizeof(string), "SELECT COUNT(*) FROM `accounts` WHERE `name` = '%s'", PlayerName(playerid));
mysql_query(connection, string);  
new num[10] = mysql_fetch_row();
if(!strval(num[0])) ShowPlayerRegisterDialog(playerid);
if(strval(num[0])) ShowPlayerLoginDialog(playerid);
Reply
#10

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
if(rows) ShowPlayerLoginDialog(playerid);
else ShowPlayerRegisterDialog(playerid);
код обоих в студию.
`name` = '%s' - индекс? И с какого хрена BINARY?
PHP код:
stock ShowPlayerRegisterDialog(playerid)
{
    new 
string[64];
    
format(string,sizeof(string), "%s вы не зарегистрированы",PlayerName(playerid));
    
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT"Регистрация"string"Регистр""");
    return 
true;
}
stock ShowPlayerLoginDialog(playerid)
{
     new 
string[64];
    
format(string,sizeof(string), "%s вы зарегистрированы"PlayerName(playerid));
    
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Авторизация"string"Войти""");
    return 
true;

извините, насчет индекса не понял
BINARY - чтобы PlayerName и playername различались
Reply
#11

Quote:
Originally Posted by long76
Посмотреть сообщение
почему так муторно?
pawn Код:
format(string, sizeof(string), "SELECT COUNT(*) FROM `accounts` WHERE `name` = '%s'", PlayerName(playerid));
mysql_query(connection, string);  
new num[10] = mysql_fetch_row();
if(!strval(num[0])) ShowPlayerRegisterDialog(playerid);
if(strval(num[0])) ShowPlayerLoginDialog(playerid);
MySQL R8
Reply
#12

Прошу помощи
Reply
#13

что за "вопросы"? Если это кол-во запросов к базе, то 10к запросов в минуту это не нормально для самп сервера
Reply
#14

Quote:
Originally Posted by Jon_De
Посмотреть сообщение
что за "вопросы"? Если это кол-во запросов к базе, то 10к запросов в минуту это не нормально для самп сервера
сам не в курсе.

Взял БД на ИгроХосте, там без всяких соединений показывает 1,8к вопросов.
Reply
#15

Я что-то совсем не понимаю, откуда такое кол-во запросов?
Для сервера нужно 2 (два) запроса: Загрузить аккаунт, и сохранить аккаунт, соответственно при входи и при выходе. Всё.
... Или Вы используете сервер базы как хранилище переменных? Если так, то стоит пересмотреть свои позиции по этому поводу..
Reply
#16

Quote:
Originally Posted by -Stranger-
Посмотреть сообщение
Я что-то совсем не понимаю, откуда такое кол-во запросов?
Для сервера нужно 2 (два) запроса: Загрузить аккаунт, и сохранить аккаунт, соответственно при входи и при выходе. Всё.
... Или Вы используете сервер базы как хранилище переменных? Если так, то стоит пересмотреть свои позиции по этому поводу..
Это не запросы, а Вопросы.
Взял совершенно новую БД, ничего не подключал, а там больше 1к Вопросов, что за Вопросы я не знаю.
Reply
#17

Есть какие-то предположения?
Reply
#18

Создавал уже тему с аналогичной проблемой. Советовали отдебажить время запросов и найти самый "тяжёлый" запрос. В данный момент несколько штук таких уже нашёл.
Reply
#19

Аналогичная ситуация с появлением Авторизации.
https://sampforum.blast.hk/showthread.php?tid=542594
Может кто поможет... Надеюсь на лучше...
Reply
#20

Прикреплён ли у тебя к этой базе сторонний ресурс(личный кабинет, мониторинг)?
Быть может это из-за запросов извне?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)