1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Обсудим Оптимизация сервера

Тема в разделе "Управление сервером Bukkit", создана пользователем Skykingcst, 6 апр 2016.

  1. Автор темы
    Skykingcst

    Skykingcst Активный участник Пользователь

    Баллы:
    78
    Skype:
    ghwdonat
    Имя в Minecraft:
    Shapex
    Здравствуйте!
    По названию темы понятно, что я хочу обсудить. Вообщем, нужно оптимизировать сборку, чтобы она выдерживала примерно 150-200 человек, не пиреписывая ядро. Дайте совет как это реализовать?
    А так-же какие плагины нагружают и чем можно их заменить.

    Заранее спасибо.
     
  2. CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    /timings
     
  3. Наильжан

    Наильжан Активный участник Пользователь

    Баллы:
    76
    а какой параметр смотреть из лога timings.txt и какого его значение должно быть как показатель хорошего результата?
     
  4. Evgeny3121

    Evgeny3121 Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Evgeny3121
    /timings on
    /timings paste
     
  5. CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    /timings on
    /timings paste
    Ссылку сюда.
    /timings off не забудь после.
     
  6. Наильжан

    Наильжан Активный участник Пользователь

    Баллы:
    76
    Спасибо, уже разобрался, результаты, как я понял, ужасные
    [​IMG]
     
  7. CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    Скидывай сюда.
     
  8. Наильжан

    Наильжан Активный участник Пользователь

    Баллы:
    76
    В ЛС
     
  9. CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    Это ад.
    Это мать. Других слов я не нашёл, увы. Скинь его сюда.
     
  10. Наильжан

    Наильжан Активный участник Пользователь

    Баллы:
    76
    Да не, смысл? Подскажи пожалуйста отчего такое? Или причин может быть куча (плагины, моды и т.д.)? Но может есть все же универсальное решение?
     
  11. CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    В том то и дело, что я без понятия что тебе делать. Скинь сюда, может знатоки вроде Dereku или alexandrage помогут.
     
  12. Наильжан

    Наильжан Активный участник Пользователь

    Баллы:
    76
    Ок.
    Наткнулся на эту тему, решил попробовать, запустил timings и ужаснулся результатам.
    Тест 1 - https://timings.spigotmc.org/?url=15661672
    Тест 2 - http://www.spigotmc.org/go/timings?url=15664323
    Сразу скажу, сервер не для проекта, ничего практически не настраивалось, просто игра с коллегами на работе, с друзьями, 2-3 человека :lol:
    Машика i3-4160, 8Gb ОЗУ, HDD Sata II
    Под Майн выделяю 5-6 Gb
    Вот JVM опции (нашел на просторах, к сожалению не разбираюсь в них)
    Код:
    java -server -Xms3G -Xmx5G -Xmn128M -Dfile.encoding=UTF-8 -XX:+UseG1GC -XX:ParallelGCThreads=2 -XX:+AggressiveOpts -XX:MaxGCPauseMillis=2000 -XX:SurvivorRatio=8 -XX:+OptimizeStringConcat -XX:+UseCompressedOops -XX:TargetSurvivorRatio=90  -jar KCauldron.jar
    Сборка: KCauldron 1.7.10
    Моды (куча):
    • Divine RPG,
    • Thaumcraft 4
    • Botania
    • Forbidden Magic
    • Twilightforest
    • Thinker Construct
    Плагины
    • Massive Core
    • CreativeGates
    • Permission
    • Essentials
    • AutoSaveWorld (автосохранение выключено, включено выполнение команд по расписанию, каждые 5 мин /lagg clear)
    • Dynmap (рендеринг карты выключен)
    • Worldguard
    • Worldborder
    • Worldedit
    • ClearLagg
    • и еще по мелочи
    Кто разбирается, помогите пожалуйста и объясните отчего такие плохие результаты. Завтра может в сеть запускать какой нибудь проект буду, а тут такое безобразие, как оптимизировать сервер Майна по максимуму?
     
    Последнее редактирование: 7 апр 2016
  13. L4c05t

    L4c05t Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Lacost
    Ставь все актуальное и старайся избегать лишних плагинов.
     
  14. Artmoneyse

    Artmoneyse Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Artmoneyse
    Смотри что у тебя за миры: DIM-42, DIM-19,MineMagicWorld.
    Вся нагрузка от мода\плагина который создаёт данные миры.
    Надеюсь карта прогружена через WorldBorder ?

    Еще попробуй набрать команду: /wg profile 1 -p
    Через 1 минуту тебе в чат напишет ссылку которую кинь тут, будет понятней что именно грузит.

    Если вы делаете сервер для "своих" то зачем ставить вообще WorldGuard, Permissions? Вы не доверяете коллегам или лукавите?
     
    Последнее редактирование: 8 апр 2016
  15. Наильжан

    Наильжан Активный участник Пользователь

    Баллы:
    76
    MineMagicWorld это основной мир, 19 - это то Bedroсk от Thaumic Thinkerer, 42 - The Outer Land от Таумкрафта вроде бы.
    Нет на тот момент не была прогружена, но и сама прогрузка не была запущена в момент тестирования.
    Попробую, позже выложу.
    Когда то хотели выложить в сеть проект, но все так и осталось на локалке, на работе, вот и играем порой, вместо того чтобы делом заняться :lol:
    Кто разбирается, подскажите пожалуйста что значит сгенерированный лог:
    Код:
    Server thread 300000ms
    java.lang.Thread.run() 300000ms
      net.minecraft.server.MinecraftServer.run() 300000ms
       java.lang.Thread.sleep() 299900ms
       net.minecraft.server.MinecraftServer.func_71217_p() 100ms
        net.minecraft.server.dedicated.DedicatedServer.func_71190_q() 100ms
         net.minecraft.server.dedicated.DedicatedServer.func_71333_ah() 100ms
          org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchServerCommand() 100ms
           org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand() 100ms
            org.bukkit.command.SimpleCommandMap.dispatch() 100ms
             com.sk89q.bukkit.util.DynamicPluginCommand.execute() 100ms
              com.sk89q.worldguard.bukkit.WorldGuardPlugin.onCommand() 100ms
               com.sk89q.minecraft.util.commands.CommandsManager.execute() 100ms
                com.sk89q.minecraft.util.commands.CommandsManager.executeMethod() 100ms
                 com.sk89q.minecraft.util.commands.CommandsManager.executeMethod() 100ms
                  com.sk89q.minecraft.util.commands.CommandsManager.invokeMethod() 100ms
                   java.lang.reflect.Method.invoke() 100ms
                    sun.reflect.DelegatingMethodAccessorImpl.invoke() 100ms
                     sun.reflect.NativeMethodAccessorImpl.invoke() 100ms
                      sun.reflect.NativeMethodAccessorImpl.invoke0() 100ms
                       com.sk89q.worldguard.bukkit.commands.WorldGuardCommands.profile() 100ms
                        java.lang.ClassLoader.loadClass() 100ms
                         java.lang.ClassLoader.loadClass() 100ms
                          java.lang.ClassLoader.loadClass() 100ms
                           net.minecraft.launchwrapper.LaunchClassLoader.findClass() 100ms
                            net.minecraft.launchwrapper.LaunchClassLoader.getClassBytes() 100ms
                             java.net.URLClassLoader.findResource() 100ms
                              java.security.AccessController.doPrivileged() 100ms
                               java.net.URLClassLoader$2.run() 100ms
                                java.net.URLClassLoader$2.run() 100ms
                                 sun.misc.URLClassPath.findResource() 100ms
                                  sun.misc.URLClassPath$JarLoader.findResource() 100ms
                                   sun.misc.URLClassPath$JarLoader.getResource() 100ms
                                    java.util.jar.JarFile.getJarEntry() 100ms
                                     java.util.jar.JarFile.getEntry() 100ms
                                      java.util.zip.ZipFile.getEntry() 100ms
                                       java.util.zip.ZipFile.getEntry() 100ms
    http://paste.enginehub.org/bjaXt.profile
     
  16. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Не. Не катит.
    Если у тебя TPSTask занимал 7 мс времени, то тут ничего не спасёт.

    А вообще что то слишком дофига времени жрёт шедулер, как будто в нём AI мобов вообще.
     
  17. Наильжан

    Наильжан Активный участник Пользователь

    Баллы:
    76
    Спасибо, а шедулером как управлять? И что это вообще? У меня по расписанию только 2 команды работают от плагина AutoSaveWorld
     
  18. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Ничем они не управляются. Это что то вроде конвеера задач для плагинов.
     
  19. scrik78

    scrik78 Старожил Пользователь

    Баллы:
    123
    Данный проц должен вполне справляться с нагрузкой от одного сервера если играет 2-3 человека в данный момент
    Я надеюсь клиент игры не запускается на этой же машине?
     
  20. Toshka17

    Toshka17 Активный участник Пользователь

    Баллы:
    76
    Это ещё фигня, у меня как-то тайминг выдал минус сорок тпс
     

Поделиться этой страницей