Из-за чего может виснуть сервер?
#1

Из-за чего может виснуть сервер? Сервер стоит на VPS (RAM: 1536MB, Пропускная способность: 80Mbps, CPU: 3 GHz Intel i7, OS: Linux). С онлайном 60 - сервер использует 30-50% CPU но временами CPU подпрыгивает до 100%. Каждые несколько секунд игроки как будто теряют связь с сервером от 2 до 7 секунд. Сервер использует MYSQL R5 плугин от Blueg. Возможно ли что сервер зависает из-за MySQL? Проблема однозначно не в VPS.

http://dogberry.lt/Dogberry-profile.html результат profiler'а в html формате. Тестили в 2 минут 15-25.
Reply
#2

высокое использование проца на такой онлайн
ну да раз теряют вероятнее всего в это время он висит

а vps не на firstvps случаем?
Reply
#3

Quote:
Originally Posted by SPAWN_METAL
View Post
высокое использование проца на такой онлайн
ну да раз теряют вероятнее всего в это время он висит

а vps не на firstvps случаем?
Нет, в Литве стоит(VPSNet).
Reply
#4

ну раз у тебя tickrate около 120, это хоть и мало но не проблема
прологируй сколько именно занимают времени функции sql
Reply
#5

Добавлю к посту выше, поставь плагин profiler от Zeex, он в этом поможет
Reply
#6

Quote:
Originally Posted by =KempeR=
View Post
Добавлю к посту выше, поставь плагин profiler от Zeex, он в этом поможет
Что он делает?
Reply
#7

Определяет какой паблик больше всего дает нагрузки
Reply
#8

Quote:
Originally Posted by cm666
View Post
Определяет какой паблик больше всего дает нагрузки
О найс, спасибо. Нужно попробовать.
Reply
#9

у вас случайно не сохранение аккаунтов в OnPlayerUpdate?
Reply
#10

Quote:
Originally Posted by Jon_De
View Post
у вас случайно не сохранение аккаунтов в OnPlayerUpdate?
Нет. Только каждую минуту:
PHP Code:
for(new pMAX_PLAYERSp++)
{
        if(!
IsPlayerConnected(p) || IsPlayerNPC(p) || pInfo[p][pAuthstate] < 3) continue;
        
format(lQuery92"UPDATE `players` SET `dIsdirbo` = `dIsdirbo`+'1' WHERE `Vardas` = '%s'"GetPlayerNameEx(p));
        
mysql_query(lQuery);
        
format(lQuery95"UPDATE `players` SET `aPrazaides` = `aPrazaides`+'1' WHERE `Vardas` = '%s'"GetPlayerNameEx(p));
        
mysql_query(lQuery);

П.С: В одну строку не могу это все засунуть, так как есть определенные проверки.
Reply
#11

Quote:
Originally Posted by Johurt
View Post
Нет. Только каждую минуту
Зачем?) Нормальный мод должен сохранять акки только при выходе игрока.
Reply
#12

Quote:
Originally Posted by Makar93
View Post
Зачем?) Нормальный мод должен сохранять акки только при выходе игрока.
Я акки не сохраняю, сохраняю только эти две строки. По другому никак
Reply
#13

http://pastebin.com/yu6hXJCR - результат profiler'а

PHP Code:
Type Name Calls Self Time (%) | Self Time (s) | AvgST (ms) | Worst ST (ms) | Total Time (%) | Total Time (s) | AvgTT (ms) | Worst TT (ms) |
native mysql_num_rows 155 0.23 0.1 0.5 1.1 0.07 0.1 0.5 1.1 |
native mysql_retrieve_row 155 0.12 0.0 0.2 0.6 0.03 0.0 0.2 0.6 |
native mysql_fetch_field_row 1907 2.94 1.0 0.5 2.6 0.87 1.0 0.5 2.6 |
native mysql_store_result 162 0.25 0.1 0.5 1.1 0.07 0.1 0.5 1.1 |
native mysql_free_result 159 0.25 0.1 0.5 1.1 0.07 0.1 0.5 1.1 |
native mysql_query 290 43.89  14.3 49.3 337.8 12.93 14.3 49.3 337.8 
Reply
#14

а ты не мог в формате html его задвинуть чтобы понятно было?
у mysql_query большие цифры вроде
Reply
#15

mysql_query долго выполняется. Видимо у тебя хостинг мускула слабый. Я хостился на одном хостинг так там такие тормоза были.

По поводу этошл плагина какое из этих значений показывает долгое выполнение кода.
Self Time (%) | Self Time (s) | Avg. ST (ms) | Worst ST (ms)
Reply
#16

Quote:
Originally Posted by Makar93
View Post
Зачем?) Нормальный мод должен сохранять акки только при выходе игрока.
а если вдруг свет выключат?
Reply
#17

Quote:
Originally Posted by [Saint]
View Post
а если вдруг свет выключат?
Вы в серверной свет включаете? Ваши сервера боятся темноты? Вы им сказки на ночь случаем не читаете?
Reply
#18

http://dogberry.lt/Dogberry-profile.html результат profiler'а в html формате. Тестили в 2 минут 15-25.
Reply
#19

Перевел сервер на MySQL r34 - проблема пропала но появилась другая. Почему то с 30 онлайном сервер постоянно жрет > 98% CPU.
VPS:
Quote:

RAM: 1536 MB
CPU: 3 GHz nuo Intel i7
OS: Linux
Поток: безлимитный
Пропускная способность: 80 Mbps

P.S: Проблема была в VPS, нужно было перезагрузить
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)