Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Машинка на 4 ядра по 4.7ghz

Во первых обращайте внимание на даты когда я что либо писал
был пробовал на хостинге (там вроде 8 ядерный AMD Xenon 2.8 Ггц вроде, и 16 Гб ОЗУ)
за 1 секунду - 30-50 замыкающих точек = от 1 до 2 TPS. (процессор 10-15%)
Отличная модель конечно. Amd xenon.
В твоей оптимизации есть подвох, отвечаю.
 
...не заметил
Санкт-петербургский хост (удалёнка - 188.134.15.176)
только меня уже от него отрезали как месяц... а то и больше...
на нем к стати сейчас стоят другие сервера Minecraft (к примеру порт: 555)
И AMD Xeon'a тоже нет.
 
тогда я не помню...
помню что AMD и помню что 8 ядер по 2.8 Ггц. вроде
Оптерончик какой-нибудь.

Собственно порыл про мультиядерность, буржуи пишут что это нереально, тк майнкрафт делался как браузерная игра и не предполагался мультиплеер. Конечно еще пороюсь но надежды остаются только на bukkit-dev.

xDip, пропшиии мне перм на /lag :D пожалуйста
 
Оптерончик какой-нибудь.

Собственно порыл про мультиядерность, буржуи пишут что это нереально, тк майнкрафт делался как браузерная игра и не предполагался мультиплеер. Конечно еще пороюсь но надежды остаются только на bukkit-dev.

xDip, пропшиии мне перм на /lag :D пожалуйста
Вот и мне интересно, как xDip сделал под серв многоядерность
 
Сама система тиков работает на одном потоке, сеть - на другом потоке, иначе все бы зависло, есть ещё несколько служебных потоков, а так, задачи в сервере не распределены по потокам, как могли бы. То есть сервер нельзя считать многопоточным. Пойдем далее, IO, который будет читать/писать в/из файлового носителя просто запнется при большом онлайне. IO-сеть перестанет нормально отвечать, так ещё и stop-the-world GC.. IO не сможет справится со своей задачей при большом онлайне, нужно во-первых, переписать все на NIO, оно работает гораздо быстрее. GC можно отключить опцией -XX:DisableGC, вызывать раз в полчаса System.gc(). Конечно же, можно распределить на потоки игровую логику.. Но тогда для 1 игрового сервера лучше было бы иметь 1 физический, чтобы все потоки распределялись по вычистительным ядрам, иначе одно будет ждать, пока выполнится другое, будет ещё большая мешанина.
 
Сама система тиков работает на одном потоке, сеть - на другом потоке, иначе все бы зависло, есть ещё несколько служебных потоков, а так, задачи в сервере не распределены по потокам, как могли бы. То есть сервер нельзя считать многопоточным. Пойдем далее, IO, который будет читать/писать в/из файлового носителя просто запнется при большом онлайне. IO-сеть перестанет нормально отвечать, так ещё и stop-the-world GC.. IO не сможет справится со своей задачей при большом онлайне, нужно во-первых, переписать все на NIO, оно работает гораздо быстрее. GC можно отключить опцией -XX:DisableGC, вызывать раз в полчаса System.gc(). Конечно же, можно распределить на потоки игровую логику.. Но тогда для 1 игрового сервера лучше было бы иметь 1 физический, чтобы все потоки распределялись по вычистительным ядрам, иначе одно будет ждать, пока выполнится другое, будет ещё большая мешанина.

-XX:DisableGC не робит, java не хочет с этой опцией запускать серв
 

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

Назад
Верх