долгое сохранения аккаунта // sqilite -
Dragunovje - 27.02.2014
По мне сохранение аккаунта очень медленное,почему так?
PHP Code:
[01:45:05] Аккаунт сохранен за 96 мс
[01:45:07] Аккаунт сохранен за 88 мс
[01:45:08] Аккаунт сохранен за 146 мс
[01:45:08] Аккаунт сохранен за 97 мс
[01:45:09] Аккаунт сохранен за 143 мс
[01:45:10] Аккаунт сохранен за 111 мс
[01:45:10] Аккаунт сохранен за 123 мс
[01:45:11] Аккаунт сохранен за 120 мс
[01:45:12] Аккаунт сохранен за 122 мс
[01:45:12] Аккаунт сохранен за 108 мс
[01:45:13] Аккаунт сохранен за 107 мс
[01:45:13] Аккаунт сохранен за 81 мс
[01:45:14] Аккаунт сохранен за 106 мс
[01:45:15] Аккаунт сохранен за 99 мс
[01:45:15] Аккаунт сохранен за 106 мс
[01:45:16] Аккаунт сохранен за 85 мс
[01:45:17] Аккаунт сохранен за 156 мс
[01:45:17] Аккаунт сохранен за 81 мс
[01:45:18] Аккаунт сохранен за 89 мс
[01:46:38] Аккаунт сохранен за 167 мс
[01:46:39] Аккаунт сохранен за 155 мс
[01:46:39] Аккаунт сохранен за 174 мс
[01:46:40] Аккаунт сохранен за 88 мс
[01:46:41] Аккаунт сохранен за 87 мс
[01:46:41] Аккаунт сохранен за 134 мс
[01:46:42] Аккаунт сохранен за 126 мс
[01:46:42] Аккаунт сохранен за 138 мс
PHP Code:
save_user(userid){
new str[600];
new time = GetTickCount();
format(str,500,"UPDATE USERS SET MONEY = '%d', KILLS = '%d', SKIN = '%d', ADMIN = '%d', LEVEL = '%d', EXP = '%d', MUTE = '%d', FRAKA = '%d', DRUGS = '%d' WHERE NAME = '%s'",pinfo[userid][pcash],pinfo[userid][pkill],pinfo[userid][pskin],pinfo[userid][padminlvl],pinfo[userid][plevel],pinfo[userid][pexp],pinfo[userid][pmute],pinfo[userid][pfraka],pinfo[userid][pdrugs],pinfo[userid][pname]);
db_query(users_base, str);
format(str, 144, "Аккаунт сохранен за %d мс",GetTickCount() - time);
SendClientMessage(userid,-1,str);
}
Re: долгое сохранения аккаунта // sqilite -
Gameyer - 27.02.2014
PHP Code:
new str[300];
format(str,sizeof(str),"UPDATE `USERS` SET `MONEY` = %d, `KILLS` = %d, `SKIN` = %d, `ADMIN` = %d, `LEVEL` = %d`, `EXP` = %d, `MUTE` = %d,`FRAKA` = %d, `DRUGS` = %d WHERE `NAME` = '%s'",pinfo[userid][pcash],pinfo[userid][pkill],pinfo[userid][pskin],pinfo[userid][padminlvl],pinfo[userid][plevel],pinfo[userid][pexp],pinfo[userid][pmute],pinfo[userid][pfraka],pinfo[userid][pdrugs],pinfo[userid][pname]);
db_query(users_base, str);
Запрос корректный, помоему это стандартная скорость обновления samp sqlite.
Re: долгое сохранения аккаунта // sqilite -
Dragunovje - 27.02.2014
будут-ли лаги при онлайне +100 +300 +600
на файлы возращаться не собираюсь,и на мускул переоходить тоже,хотелось бы оптимизировать чтоле.
Re: долгое сохранения аккаунта // sqilite -
Jon_De - 27.02.2014
Quote:
Originally Posted by Dragunovje
будут-ли лаги при онлайне +100 +300 +600
на файлы возращаться не собираюсь,и на мускул переоходить тоже,хотелось бы оптимизировать чтоле.
|
будут
ставь ключи
Re: долгое сохранения аккаунта // sqilite -
eakwarp - 27.02.2014
Quote:
Originally Posted by Dragunovje
будут-ли лаги при онлайне +100 +300 +600
на файлы возращаться не собираюсь,и на мускул переоходить тоже,хотелось бы оптимизировать чтоле.
|
Тогда не смейте этим более заниматься.
Re: долгое сохранения аккаунта // sqilite -
Dragunovje - 27.02.2014
Quote:
Originally Posted by Jon_De
будут
ставь ключи
|
поясните?
Re: долгое сохранения аккаунта // sqilite -
Dragunovje - 27.02.2014
Quote:
Originally Posted by eakwarp
Тогда не смейте этим более заниматься.
|
я жду ответов по теме,а не "поцан гуляй" и т.п
Re: долгое сохранения аккаунта // sqilite -
eakwarp - 28.02.2014
Quote:
Originally Posted by Dragunovje
я жду ответов по теме,а не "поцан гуляй" и т.п
|
Вам все ответы дали, в ваших целях использование sqlite не целесообразно. И вы сходу отвергаете все реально возможные варианты в ваших условиях, с такими замашками выйдите вон и не смейте больше этим заниматься не при каких обстоятельствах.
Re: долгое сохранения аккаунта // sqilite -
OKStyle - 28.02.2014
Варп, полегче. Никто не должен заставлять кого-то использовать именно что-то конкретное. Хочет использовать sqlite - его дело. А философствовать по поводу "не стать программистом" не надо. Используешь MySQL - используй. А я вот не хочу =) И много кто использует то, что по каким-либо причинам является необходимым и достаточным для его задачи.
Re: долгое сохранения аккаунта // sqilite -
Dragunovje - 28.02.2014
Quote:
Originally Posted by eakwarp
Вам все ответы дали, в ваших целях использование sqlite не целесообразно. И вы сходу отвергаете все реально возможные варианты в ваших условиях, с такими замашками выйдите вон и не смейте больше этим заниматься не при каких обстоятельствах.
|
если вам нечего сказать по поводу темы,то прошу просто пройти мимо,а не отвечать на очевидные вопросы.
Re: долгое сохранения аккаунта // sqilite -
Dragunovje - 28.02.2014
Quote:
Originally Posted by OKStyle
Варп, полегче. Никто не должен заставлять кого-то использовать именно что-то конкретное. Хочет использовать sqlite - его дело. А философствовать по поводу "не стать программистом" не надо. Используешь MySQL - используй. А я вот не хочу =) И много кто использует то, что по каким-либо причинам является необходимым и достаточным для его задачи.
|
Спасибо за ответ.
Re: долгое сохранения аккаунта // sqilite -
eakwarp - 28.02.2014
Quote:
Originally Posted by OKStyle
Варп, полегче. Никто не должен заставлять кого-то использовать именно что-то конкретное. Хочет использовать sqlite - его дело. А философствовать по поводу "не стать программистом" не надо. Используешь MySQL - используй. А я вот не хочу =) И много кто использует то, что по каким-либо причинам является необходимым и достаточным для его задачи.
|
Я вообще postgresql использую. Но здесь человек дал вполне явную проблему, указал рамки, у него уже с маленьким онлайном бд работает крайне медленно, а он хочет все это дело заставить работать при онлайне в 500 игроков. Бд загнется уже при создании пары тысяч аккаунтов, и будет работать в сотни раз медленнее, а он кричит что не будет использовать мускул.
Re: долгое сохранения аккаунта // sqilite -
Dragunovje - 28.02.2014
Quote:
Originally Posted by eakwarp
Я вообще postgresql использую. Но здесь человек дал вполне явную проблему, указал рамки, у него уже с маленьким онлайном бд работает крайне медленно, а он хочет все это дело заставить работать при онлайне в 500 игроков. Бд загнется уже при создании пары тысяч аккаунтов, и будет работать в сотни раз медленнее, а он кричит что не будет использовать мускул.
|
онлайн у меня 1,тобишь только я,сейчас буду тестить на хостинге,может у меня машина слоу просто.
Re: долгое сохранения аккаунта // sqilite -
Dragunovje - 28.02.2014
Что если не при выходе сохранять,а при каждом изменении переменной сразу вписывать в таблицу,например скин изменил вписал,будет ли данный способ оптимальнее в данной ситуации?
Re: долгое сохранения аккаунта // sqilite -
OKStyle - 28.02.2014
Распределённая нагрузка всегда помогает, но надо знать - что сохранять в данный момент и нужно ли вообще.
Re: долгое сохранения аккаунта // sqilite -
Dragunovje - 28.02.2014
Спасибо за ответ,думаю будет целесообразнее сохранять сразу по одной переменной,чем при дисконекте сразу все.
Можно узнать есть-ли еще способы хранения данных кроме файлов и mysql/sqlite ?
Re: долгое сохранения аккаунта // sqilite -
Eims - 28.02.2014
Quote:
Originally Posted by Dragunovje
Спасибо за ответ,думаю будет целесообразнее сохранять сразу по одной переменной,чем при дисконекте сразу все.
|
По моему, не стоит с этим перебарщивать. Например, при каждой передаче денег сохранять их как-то глупо, ибо представьте что будет твориться с запросами при онлайне, например, в 50 человек

А если ещё и фраги какие-нибудь сохранять... В общем, частота запросов должна выйти бешенная.
В общем, как и говорили выше, думать над этим надо именно вам, а не нам. Ибо только вы знаете свой код и только вы можете представить какой кусок кода будет вызываться часто, а какой реже.
И не понимаю чем вас MySQL не устраивает? Он ничуть не сложнее SQLite и с его освоением у вас не должно быть никаких сложностей... Ну дело ваше
Re: долгое сохранения аккаунта // sqilite -
OKStyle - 28.02.2014
Неустраивать MySQL может тем, что для него нужна эта база)) А не все хостеры её предоставляют (тем более бесплатно). А на sqlite файл валяется в директории сервера.
Насчет денег согласен, потому и написал: "и нужно ли вообще", ведь некоторые данные меняются много раз в минуту - нет смысла их сохранять.
Re: долгое сохранения аккаунта // sqilite -
stabker - 28.02.2014
Quote:
Originally Posted by Dragunovje
Спасибо за ответ,думаю будет целесообразнее сохранять сразу по одной переменной,чем при дисконекте сразу все.
Можно узнать есть-ли еще способы хранения данных кроме файлов и mysql/sqlite ?
|
А вы уже проверяли, сколько времени занимает изменение 1 значения?
Re: долгое сохранения аккаунта // sqilite -
White_116 - 28.02.2014
Одно могу сказать, вшитый SQL странно себя ведёт. На начальном этапе время создания и апдейта очень большие. Но по мере её увеличение всё нормализуется, не космические скорости, но терпимо.
У меня сервер 30 игроков ~ 300-600 мс сохраняет. А раньше 1300-2000 мс.
Странно всё это.