Новости

Мануал по оптимизации сервера под 600+

Мануал по оптимизации сервера под 600+


В данном мануале написана инструкция по оптимизации Windows Server 2003 x64 и MySQL под работу Lineage 2 сервера с онлайном 500-600 человек.
Все знают, что Windows в стандарте всегда выделяет большую часть оперативной памяти внутренним службам, которые работают в фоновом режиме. Нас такое распределение вовсе не устраивает.
Поэтому:
  • 1.Нажмите правой кнопкой мыши на мой компьютер и выберите Свойства  
  • 2.Кликните на вкладку "Дополнительно"
  • 3.Вы увидите окошко Быстродействие с кнопкой «Параметры» Нажмите на нее. (Новое окно)
  • 4.Кликните на вкладку "Дополнительно"
  • 5.В данном окне щёлкните на вкладку Дополнительно.
  • 6.Тут вы видите «Распределение времени процессора и использование памяти» поставьте везде «Программ».
Таким образом, мы добьемся правильного распределения мощностей.
Теперь нам нужно выделить больше виртуальной памяти под систему.
Делаем мы это таким образом:
  • 1.Нажмите правой кнопкой мыши на мой компьютер и выберите Свойства (появится новое окно)
  • 2.Кликните на вкладку "Дополнительно"
  • 3.Вы увидите окошко Быстродействие с кнопкой «Параметры» Нажмите на нее. (Новое окно)
  • 4.Кликните на вкладку "Дополнительно"
  • 6.В самом низе раздел "Виртуальная память",в данном разделе нажмите изменить.
  • 7.Появится новое окно,в данном окне выберите свой жёсткий диск,
  • где у вас стоит ваш сервер,когда выбрали диск с сервером,
  • то чуть ниже выберите "Размер файла подкачки для выбранного диска",выберите пункт "Особый размер".
  • 8.Появятся два окошечка для ввода:
  • Исходный размер(Мб):
  • Максимальный размер(Мб):
  • В данных полях вы вводите количество общей оперативной памяти делённой на 1,5
  • Т.е. в данный момент у меня 8,5 гигабайт оперативной памяти,я делю 8500 на 1,4
  • Получается примерное значение: 6100 гигабайт
  • Данное примерное значение вводим в обоих окнах:
  • Исходный размер(Мб): 6100
  • Максимальный размер(Мб): 6100
  • Проверьте что вы поделили верно и вписали в оба окна,одинаковые значения.
  • После чего нажмите Ok.
  • 9.Закройте все окна и перезагрузите компьютер.
Если у Вас есть лишний пустой жесткий диск, то советую использовать его под файл подкачки.
На этом этапе настройка Windows окончена.

Теперь переходим к настройкам MySQL, что мы уже давно и успешно установили.

В первую очередь настроим максимальное количество подключений (коннектов) к MySQL:

# Максимальное количество конкурирующих сессий сервер MYSQL будет
# позволять подсоединяться. Одна из этих связей будет резервироваться для потребителя с
# наивысшими привилегиями, т.е. для администратора, даже если
# предел связи был достигнут.
max_connections=2000
- тут ставим ~2000, это будет оптимальным значением для сервера, учитывая, что у Вас еще и база сайта, к которой тоже коннектятся.

Если ваши таблицы становятся большими, нужно поставить более большее значение чем есть,т.е. если ваша таблица весит 200 мб,то нужно поставить в 2 раза больше т.е. 512.

table_cache=256

Это дополнительная память которая выделяется для таблиц в случае если они больше указанного значения table_cache,настройка на 8mb более чем достаточно
innodb_additional_mem_pool_size=8M
Нет смысла ставить больше 16мегов.


The size of the buffer InnoDB uses for buffering log data. As soon as
# it is full, InnoDB will have to flush it to disk. As it is flushed
# once per second anyway, it does not make sense to have it very large
# (even with long transactions).
innodb_log_buffer_size=16M


Если на сервере есть свободная оперативная память, то здесь можно увеличивать значения, что благотворно скажется для базы.

# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and
# row data. The bigger you set this the less disk I/O is needed to
# access data in tables. On a dedicated database server you may set this
# parameter up to 80% of the machine physical memory size. Do not set it
# too large, though, because competition of the physical memory may
# cause paging in the operating system. Note that on 32bit systems you
# might be limited to 2-3.5G of user level memory per process, so do not
# set it too high.
innodb_buffer_pool_size=1024M


Обычно выставляют половину от моего innodb_buffer_pool_size.
Помни, если менять этот конфиг, то нужно выключить мускул и удалить логи.
Логи находятся : MySQL Server 5.0\data
удалите ib_logile0 and ib_logfile1

# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.
innodb_log_file_size=512M


Сборка(на примере сборки от Scoria):

gameserver_loop.sh

DBHOST=localhost
USER=root
PASS=
DBNAME=l2jdb

err=1
until [ $err == 0 ];
do
#mysqlcheck -h $DBHOST -u $USER --password=$PASS -s -r $DBNAME>>"log/`date +%Y-%m-%d_%H:%M:%S`-sql_check.log"
#mysqldump -h $DBHOST -u $USER --password=$PASS $DBNAME|zip "backup/`date +%Y-%m-%d_%H:%M:%S`-l2jdb_gameserver.zip" -
mv ./log/java0.log.0 "./log/`date +%Y-%m-%d_%H-%M-%S`_java.log"
mv ./log/stdout.log "./log/`date +%Y-%m-%d_%H-%M-%S`_stdout.log"
#if need - uncoment# #mv ./log/chat.log "./log/`date +%Y-%m-%d_%H:%M:%S`-chat.log"#
java -Dfile.encoding=UTF-8 -Xms1024m -Xmx2048m -XX:+UseParallelGC -XX:+AggressiveOpts -cp ./lib/*:l2scoria-mmocore-2.jar:bsh-engine.jar:bsh-2.0b5.jar:c3p0-0.9.1.2.jar:jython.jar:jython-engine.jar:commons-logging-1.1.jar:commons-io-1.2.jar:commons-lang-2.1.jar:javolution.jar:mysql-connector-java-5.1.8-bin.jar:/lib/l2scoria-core-3.jar com.l2scoria.gameserver.GameServer > ./log/stdout.log 2>&1
sleep 10;
done

flood.properties
# Должна равняться примерному значения игроков
FloodProtectorInitialSize = 600

mmocore.properties
#-------------------------------------------------------------
# Настройка буфера соединения -
#-------------------------------------------------------------
# Размер буфера в КБит (килобитах)
# По умолчанию (Windows) - 64KBits
# По умолчанию (*nix) - 128KBits
NetworkReadBufferSize = 128
NetworkWriteBufferSize = 128
NetworkHelperBufferSize = 128
*** Если Win - 64 ставь

# Размер вспомогательного буфера
NetworkHelperBufferCount = 20

Ссылки на скачивания дотупны только зарегистрированным пользователям.
[ Регистрация | Вход ]

HTML

BB-Code

Ссылка

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Minecraft


Lineage 2


Кто тут онлайн


Онлайн всего: 1
Гостей: 1
Пользователей: 0