• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Периодические фризы NS 1.1

  • Автор темы Автор темы Scoot
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Scoot

Пользователь
Регистрация
12 Мар 2015
Сообщения
200
Реакции
0
Баллы
27
Здравствуйте, иногда на сервере происходит лагодром, а иногда его нет. Как мне объяснили это сама сущность Nutscript'а, якобы в него кучу ненужной фигни засунули, ведь тот же sandbox или darkrp не лагает. Как можно свести к минимуму этот беспредел? Что можно или нужно удалить из фреймворка? Хотелось бы получить ответ, надоело создавать тему в которой никто так и не отвечает.
 
Последнее редактирование:
Здравствуйте, иногда на сервере происходит лагодром, а иногда его нет. Как мне объяснили это сама сущность Nutscript'а, якобы в него кучу ненужной фигни засунули, ведь тот же sandbox или darkrp не лагает. Как можно свести к минимуму этот беспредел? Что можно или нужно удалить из фреймворка? Хотелось бы получить ответ, надоело создавать тему в которой никто так и не отвечает.
Тот кто это говорит явно не смыслит ничего в серверостроение.
У натскрипта хорошая оптимизация и лагать оно не может, только если не сунуть в него > 100 скриптов которые пожирают оперативную память сервера. Тот же даркрп, при 40 скриптах уже задыхается. Возможно просто проблемы с сервером, какие характеристики у сервера и ось?
 
Тот кто это говорит явно не смыслит ничего в серверостроение.
У натскрипта хорошая оптимизация и лагать оно не может, только если не сунуть в него > 100 скриптов которые пожирают оперативную память сервера. Тот же даркрп, при 40 скриптах уже задыхается. Возможно просто проблемы с сервером, какие характеристики у сервера и ось?
Домашний ПК: 32 Гб ОЗУ, Windows 10.
 
Домашний ПК: 32 Гб ОЗУ, Windows 10.
процессор какой?
Перед лагами сделай скриншот. Впиши net_graph 3 в консоль и чекай нагрузку.
Можешь еще dbger подключить, чтобы глянуть что так сильно жрет ресурсы.
 
процессор какой?
Перед лагами сделай скриншот. Впиши net_graph 3 в консоль и чекай нагрузку.
Можешь еще dbger подключить, чтобы глянуть что так сильно жрет ресурсы.
Процессор Intel Core i7-7700k • 4.2 Ггц • 4 ядра, 8 потоков.
 
процессор какой?
Перед лагами сделай скриншот. Впиши net_graph 3 в консоль и чекай нагрузку.
Можешь еще dbger подключить, чтобы глянуть что так сильно жрет ресурсы.
Лаги не частые, скриншот сделать скорее всего не успею, они имеют определенную переодичность и длятся от 0.5 до 1 секунды, но заметны.
 
Лаги не частые, скриншот сделать скорее всего не успею, они имеют определенную переодичность и длятся от 0.5 до 1 секунды, но заметны.
Ну игровые компы для такго не подходят, по опыту знаю. Вообще, попробуй тик сделать 33 и меньше. Если слотов больше 30, то тик 33 и ниже в самый раз. Возможно кто-то спамит пропами. Возьми dbugr и чекай нагрузку скриптов. Не могу вспомнить как я фиксил подобные лаги, вспомню отпишу.
 
Ну игровые компы для такго не подходят, по опыту знаю. Вообще, попробуй тик сделать 33 и меньше. Если слотов больше 30, то тик 33 и ниже в самый раз. Возможно кто-то спамит пропами. Возьми dbugrи чекай нагрузку скриптов. Не могу вспомнить как я фиксил подобные лаги, вспомню отпишу.
График показывает какую-то прогрузку ентить, вопрос зачем и как запретить эту прогрузку? После рестарта все нормально, а потом снова начинается постепенно.
 

Вложения

  • 20180121131304_1.jpg
    20180121131304_1.jpg
    398.9 KB · Просмотры: 7
  • 20180121131741_1.jpg
    20180121131741_1.jpg
    513.9 KB · Просмотры: 9
Последнее редактирование:
График показывает какую-то прогрузку ентить, вопрос зачем и как запретить эту прогрузку? После рестарта все нормально, а потом снова начинается постепенно.
ентити ты не запретишь. Гмод это одна большая ентити xD
Вообще, походу у тебя что-то с ядрами. Имхо, игровой компьютер не подходит для держания серверов для игр.
Попробуй распределить нагрузку на ядра. Т.к в гмоде нет многопоточности по ядрам, то закинь сервер на одно ядро. Только не кидай на ЦП 0, там вся подсистема, закинь на самое последнее. выбери лишь 1 ядро (cpu).
Используй эту программу для распределения, очень удобная. Специально для гмода сделана: СКАЧАТЬ

Примерно как должно быть: (случайный процесс, взял за пример. В программе чуть по другому)
 
ентити ты не запретишь. Гмод это одна большая ентити xD
Вообще, походу у тебя что-то с ядрами. Имхо, игровой компьютер не подходит для держания серверов для игр.
Попробуй распределить нагрузку на ядра. Т.к в гмоде нет многопоточности по ядрам, то закинь сервер на одно ядро. Только не кидай на ЦП 0, там вся подсистема, закинь на самое последнее. выбери лишь 1 ядро (cpu).
Используй эту программу для распределения, очень удобная. Специально для гмода сделана: СКАЧАТЬ

Примерно как должно быть: (случайный процесс, взял за пример. В программе чуть по другому)
Т.е изначально сервер работает на CPU0, где находится система и из-за этого тупит все?
 
Т.е изначально сервер работает на CPU0, где находится система и из-за этого тупит все?
Изначально, он выбирает все CPU т.е все ядра. С помощью программы выбери лишь 1 CPU, но не нулевой. Перебрось туда сервер и жди чуда. Вообще, еще зависит от тикрейта и других вещей. Я уже не помню, но помню что ядра это важная часть.
 
Изначально, он выбирает все CPU т.е все ядра. С помощью программы выбери лишь 1 CPU, но не нулевой. Перебрось туда сервер и жди чуда. Вообще, еще зависит от тикрейта и других вещей. Я уже не помню, но помню что ядра это важная часть.
Я уже заметил разницу, спасибо!
 
Изначально, он выбирает все CPU т.е все ядра. С помощью программы выбери лишь 1 CPU, но не нулевой. Перебрось туда сервер и жди чуда. Вообще, еще зависит от тикрейта и других вещей. Я уже не помню, но помню что ядра это важная часть.
Правда через 40 минут работы в графике наблюдаются микроскачки, каждые 15 секунд
 
Изначально, он выбирает все CPU т.е все ядра. С помощью программы выбери лишь 1 CPU, но не нулевой. Перебрось туда сервер и жди чуда. Вообще, еще зависит от тикрейта и других вещей. Я уже не помню, но помню что ядра это важная часть.
И чем больше игроков тем длинее тот микролаг в графике
 
Изначально, он выбирает все CPU т.е все ядра. С помощью программы выбери лишь 1 CPU, но не нулевой. Перебрось туда сервер и жди чуда. Вообще, еще зависит от тикрейта и других вещей. Я уже не помню, но помню что ядра это важная часть.
Возникает вопрос, может ли подобный код делать лаги, по сути он не должен же выполняться, если условие не верное, ведь так?
Код:
timer.Create("infection_tick", 15, 0, function()
        for _, client in ipairs(player.GetAll()) do
        --    client:StopSound("vj_player/heartbeat.wav");
            local char = client:getChar()
            
            local ent = ents.Create(zombieTable[math.random(1,12)])
            
            if (client:Alive() and char) then
            
                if char:getData( "infection" ) == true then
                    if client:Health() > 1 then
                        client:emote("infectionbloodvomit")
                        client:TakeDamage(1)
                        client:SetWalkSpeed(client:GetWalkSpeed() - 10)
                        client:SetRunSpeed(client:GetRunSpeed() - 30)
                    --    client:EmitSound("vj_player/heartbeat.wav")
                    end
                    if (client:GetWalkSpeed() <= 0 and client:GetRunSpeed() <= 0) then
                    --    client:emote("duck")
                        client:ConCommand("+duck")
                    end
                    if client:Health() == 1 then                   
                        client:TakeDamage(1)
                        ent:SetPos(client:GetPos())
                        ent:Spawn()
                        client:Spawn()
                        char:ban()
                    end
                    local effectdata = EffectData()                   
                    local pos, ang = client:GetBonePosition(client:LookupBone("ValveBiped.Bip01_Head1"))
                    effectdata:SetStart(pos)
                    effectdata:SetOrigin(pos)
                    effectdata:SetAttachment(client:LookupBone("ValveBiped.Bip01_Head1"))
                    effectdata:SetEntity(client)
                    effectdata:SetMagnitude( 1 )
                    effectdata:SetRadius( 1 )
                    util.Effect( "BloodImpact", effectdata, true, true )
                    
                    util.Decal( "blood", client:GetPos() + Vector(math.random(1,30),-math.random(1,30),0), client:GetPos() - Vector(math.random(1,10),math.random(1,10),50))
                    util.Decal( "blood", client:GetPos() + Vector(-math.random(1,30),math.random(1,25),0), client:GetPos() - Vector(math.random(15,25),math.random(15,25),50))
                    util.Decal( "blood", client:GetPos() + Vector(math.random(1,35),-math.random(1,35),0), client:GetPos() - Vector(math.random(25,35),math.random(25,35),50))
                    util.Decal( "blood", client:GetPos() + Vector(-math.random(1,35),math.random(1,35),0), client:GetPos() - Vector(math.random(25,35),math.random(25,35),50))
                    util.Decal( "blood", client:GetPos() + Vector(math.random(1,30),math.random(1,30),0), client:GetPos() - Vector(math.random(1,10),math.random(1,10),50))
                    break
                end
            end
        end
    end)
 
И чем больше игроков тем длинее тот микролаг в графике
Насущная проблема, всех кто держит сервера. У меня подобное было с выделенным сервером.
Я разогнал проц при помощи проги (имя не помню), перебросил серв на отдельное CPU, тикрейт сбил до 22. Дальше не помню, но там я помню, надо было что то в биосе отключить какое-то VT-Hyper что-то такое.

Были микролаги, вывод: держи сервер на vds или игровом хостинге или пытайся своими силами побороть лаги.

По поводу кода: лаги могут быть из за декалей. (effectdata, util.decale, util.Effect)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Главная Регистрация
Назад
Сверху