Перейти к содержанию
Авторизация  
Noobasik24

Windows Server

Рекомендуемые сообщения

Киньте кто нибудь ссылку на мануал по установке сервера на windows server.И какую именно поставить лучше. P.S гуглить впадлу:Dкину + )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разница лишь в том, чтобы правильно фаер и mysql отконфишить.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот ещё Инфа по установки на винду сервера.

 

Думаю автору пригодиться...

 

 

Внимание! При данных манипуляциях, можно обрушить весь сервер вообще! Делайте вдумчиво и 7 раз отмерьте прежде приступать к настройке!

Оптимизация Настроек MySQL.

Нам нужно настроить mysql, иначе будут лаги при большом онлайне.

Перед тем, как что-то менять в настройках мускула, отключите сервис MySQL. Это можно например сделать так: Панель управления - > Администрирование (Administrative tools) -> Службы (Services). Открывается окошко, ищите там MySQL, правой кнопкой - > остановить.

Заходим в папку, где у Вас установлен MySQL. Там ищем файл my.ini. Сделайте его резервную копию на всякий случай.

Открываем my.ini (оригинал) и начинаем с ним работать:

 

1. ищем строку max_connections= ставим там 500 (max_connections=500 -вот так, больше пока не нужно. но потом Вам надо будет увеличить, когда онлайна будет подходить к этой цифре.)

2. ищем query_cache_size= тут ставим 0

3. ищем table_cache= (тут надо поставить значение = Вес базы *2, но для начала можете поставить 256)

4. innodb_additional_mem_pool_size= тут ставим от 4M до 8M (получится так innodb_additional_mem_pool_size=8M)

Это дополнительная память которая выделяется для таблиц в случае если они больше указанного значения table_cache.

5. innodb_buffer_pool_size= тут ставим значение свободной оперативки. если у вас оперативки не так много, то лучше не ставить больше чем сейчас у Вас там стоит.

6. innodb_thread_concurrency= это значение зависит от вашего процессора, например для Quad Core Xeon 3220 - 2.40GHz можно поставить значение 60. (если не уверены, то не меняйте значение которое у Вас стояло)

 

 

более полный вариант мануала:

Чаще всего под сервер используется железо типа Core2Duo с 2-4 гигами оперативной памяти.

Для онлайна в 1000 человек этого мало. Я рекомендую брать серверные решения , например у меня стоит:

 

 

Code

Процессор: Quad Core Xeon 3220 - 2.40GHz (Kentsfield) - 2 x 4MB cache
Оперативная память: 8 GB DDR2 667
Жёсткий диск: 73GB SA-SCSI,15000 скорость оборотов дисков(RPM)
2-ой Жёсткий диск: 73GB SA-SCSI,15000 скорость оборотов дисков(RPM)
Internet: 1000mbit
Windows: Windows server 2003 64bit RC2

 

Не так важен процессор для сервера как его хард диски.

Для онлайна в 1к человек, нужно ставить SAS или SCSI диски со скоростью вращения шпинделя 15к. У меня на данный момент стоят два таких жёстких диска.

На первом у меня Windows и программы.

На втором база данных сервера. Всегда держите базу данных на отдельном диске!

Оптимальный объем оперативы 6 гигабайт.

Для сервера нужен хороший интернет, 100мегабитного канала хватит.

Я рекомендую использовать Windows Server 2003 64 bit. В 64битной версии MYSQL и JAVA работают быстрее и можно больше выделить памяти серверу и базе. Но об этом позже.

2.Windows Server 2003 x64

Ну что-ж, считаем что у нас есть хорошая серверная машина с Windows 2003.

Windows изначально выделяет больше оперативы внутренним службам, работающим в фоновом режиме. И это надо менять:

 

 

Code

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.Закройте все окна и перезагрузите компьютер.

Если есть пустой хард, то советую использовать его под файл подкачки.

На этом настройка на данном этапе закончена.

 

 

3.MySql

Внимание настройки конфигурация производятся в файле конфигурации mysql: my.ini

Жизненно необходима настройка мускула, иначе лаги начнутся уже при онлайне в 300 человек.

Хотя я и не спец по мускулу, но пару советов дам.

Я буду показывать части из моих конфигурационных файлов mysql, для наглядности.

Несмотря на то, что mysql требует много оперативной памяти, ее нужно выделять с умом!

Иначе вы получите переполненный буфер и как следствие лаги!

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

Пример: Моя база данных весит 200 МБ, потому устанавливаю размер оперативной памяти на 512МБ.

Отключите ваш Мускул перед любыми настройками.

Текст типа --------> что то умное <-------- мои комментарии.

Для начала проверим предустановки:

Находим в файле my.ini строчку:

default-storage-engine=INNODB

Если данной строчки нету, значит ищем :

default-storage-engine=

Пояснение:

default-storage-engine- Указывает какой движок использован для создания таблиц mysql .

INNODB-стандартная,версия движка для создания таблиц mysql

--------> Максимальное количество коннектов к mysql.

 

 

Code

# Максимальное количество конкурирующих сессий сервер MYSQL будет
# позволять подсоединяться. Одна из этих связей будет резервироваться для потребителя с
# наивысшими привилегиями, т.е. для администратора, даже если
# предел связи был достигнут.
max_connections=600
-------->Оптимально поставить: 500-600 для онлайна в 500-600 человек.
-------->Это нужно установить на значение 0,так как это не используется в l2j серверах и только замедляет работу сервера.
Код:
# Данная опция подаёт запрос на кеширование сервера в оперативную память и количество памяти для к
кэширования.1=включено,0=выключено.
query_cache_size=0
------> Если ваши таблицы становятся большими, нужно поставить более большее значение чем есть,т.е. если ваша таблица весит 200 мб,то нужно поставить в 2 раза больше т.е. 512.
Код:
table_cache=256
---------> Это дополнительная память которая выделяется для таблиц в случае если они больше указанного значения table_cache,настройка на 8mb более чем достаточно
Код:
innodb_additional_mem_pool_size=8M
------>Хз для чего нужная эта фишка, тестить не хочу.
------>Но знаю точно что выставив 0 будут проблемы с I/O spikes
------>Потому юзаю "2"

 

 

Code

# If set to 1, InnoDB will flush (fsync) the transaction logs to the
# disk at each commit, which offers full ACID behavior. If you are
# willing to compromise this safety, and you are running small
# transactions, you may set this to 0 or 2 to reduce disk I/O to the
# logs. Value 0 means that the log is only written to the log file and
# the log file flushed to disk approximately once per second. Value 2
# means the log is written to the log file at each commit, but the log
# file is only flushed to disk approximately once per second.
innodb_flush_log_at_trx_commit=2
------->Нет смысла ставить больше 16мегов.

 

 

Code

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

 

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

 

 

Code

# 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

 

 

Code

# 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

--------->Данные настройки зависят напрямую от мощности вашего проца.

--------->Будьте очень осторожны меняя тут значения. Двигайтесь потихоньку. Если процессор как у меня, то смело выставляйте «60»

 

Код:

# Number of threads allowed inside the InnoDB kernel. The optimal value
# depends highly on the application, hardware as well as the OS
# scheduler properties. A too high value may lead to thread thrashing.
innodb_thread_concurrency=60

-----> Делаем что бы мускул кушал только оперативку вместо файла подкачки.

Код:

memlock

-----> создается отдельная таблица для каждого файла. это создает хорошее повышение производительности сервера

-----> Помните если вы что либо изменили в конфигурации mysql,то вам нужно заново импортировать все таблицы/файлы в mysql.

-----> Создайте базу с таким название и оставьте её пустой.

Код:

Название:

innodb_file_per_table

Хорошо я разъяснил все, что касаться mysql. Я рекомендую купить отдельный хард под базу данных. Это позволит повысить производительность.

Поехали дальше.

 

4.L2j Threadpool config

Настройка в конфигурации сервера.

Итак мы на финишной прямой, для начала нужно оптимизировать настройки threadpool .

В данном конфиге определяются сколько потоков может быть создано. Эти параметры всегда были загадкой для меня.

Менять данные параметры можно при условии, что у вас мощной процессор, иначе даже не пытайтесь.

Откройте ваш options.properties файл и найдите:

Код:

# ================================================= = ===============
# Настройка threadpool - Будьте осторожны, изменяя это
# ================================================= = ===============
ThreadPoolSizeEffects = 50
ThreadPoolSizeGeneral = 65
По умолчанию # 2
UrgentPacketThreadCoreSize = 10
# по умолчанию 4
GeneralPacketThreadCoreSize = 20
# по умолчанию 4
GeneralThreadCoreSize = 20
AiMaxThread = 20

-------------------------------------------------- ----------------

Мне подходят значения в 5тикратном размере от стандартных.

Начните со стандартных значений и посмотрите как это работает.

И потом начинайте медленно изменять характеристики ,для начала выставите в 2хкратном размере.

Т.е. умножьте стандартные настройки данной конфигурации на 2,и сохраните файл.

5.Прочие конфиги

Кое что влияющее на загрузку проца и памяти.

--------> ЛОГИ

Код:

# ================================================= = ===============
# Конфигурации логов
# ================================================= = ===============
# Настройка логов чата всего мира (true=влючено,false=выключено)
LogChat = False
# Настройка логов сбора дропа,спойла,итемов,ресурсов и прочего.(true=влючено,false=выключено)
LogItems = False
# Настройка логов ГМ-ов,пишит логи всех действий Гмов.(true=влючено,false=выключено)
GMAudit = True

-------> Чем меньше это значение, тем меньше нагрузки на процессор.

Код:

MaxDriftRange = 0

-------> установка в false может улучшить работу серверов с высокими рейтами

Код:

PreciseDropCalculation = False
# Данная настройка это эксперементальная синхронизация между Клиентскими <-и-> Серверными координатами игрока,
# 0 - нет синхронизации ВООБЩЕ !!!
# 1 - Частичная синхронизация от клиента -к-> серверу
# 2 - Частичная синхронизация от Сервера -к-> клиенту
# 3 - Полная синхронизация Клиента <-и-> Сервера
# -1 - Старая система синхронизации: Только по оси Z
CoordSynchronize = -1

 

6.Стартовые файлы.

Теперь поговорим о выделении памяти под ява процессы.

Есть не сколько фактов которые вы должны знать:

1. Если у вас 32х битная ява, не выставляйте значения для xmx and xms больше 1536 мегабайт.

2. Параметр –server можно выставлять при условии, что у вас двухядерный процессор и оперативы больше 2 гигабайт.

 

 

Code

-Xmx4096m-Xms2048m-Xmn1024m-XX:PermSize=256m

Данный параметр указывает на то, что ваш компьютер может использовать максимум 4 гигабайта для сервера,и минимум 256. Вы должны отредактировать данные настройки под свой компьютер. Если у вас есть мощный сервер и много оперативной памяти, вы можете эксперементировать над данными конфигами.

На моём сервере всё работает прекрасно, поэтому я не менял данный конфиг.

 

 

Code

startgameserver.bat
title Game Server Console
:start
echo Starting L2J Game Server.
echo.
REM -------------------------------------
REM Default parameters for a basic server.
REM java -Xmx1024m -cp ./../libs/*;l2jserver.jar net.sf.l2j.gameserver.GameServer
REM
REM If you have a big server and lots of memory, you could experiment for example with
java -server -Xmx4096m -Xms2048m -Xmn1024m -XX:PermSize=256m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts -cp ./../libs/*;l2jserver.jar net.sf.l2j.gameserver.GameServer
REM -------------------------------------

 

Взято отсюда Отредачено, более удобоваримо мной.

  • Upvote 4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зачетно:) Можно было отдельно выложить как мануал:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

logan22 спойлер сделали просто так да?

листай всю страницу чо уж там=\

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. ищем строку max_connections= ставим там 500 (max_connections=500 -вот так, больше пока не нужно. но потом Вам надо будет увеличить, когда онлайна будет подходить к этой цифре.)

 

Вопрос: у меня ява серв, значит ставить значение 0? или просто поставить 10.000

 

 

5. innodb_buffer_pool_size= тут ставим значение свободной оперативки. если у вас оперативки не так много, то лучше не ставить больше чем сейчас у Вас там стоит.

 

Вопрос. У меня 24гб оперативки, 15 выделено на ГС, сколько выделять базе?

 

 

 

3. ищем table_cache= (тут надо поставить значение = Вес базы *2, но для начала можете поставить 256)ка

 

Вопрос: как узнать вес базы, ну или какое значение надо ставить оптимальное?

Изменено пользователем NakomoDE

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. ищем строку max_connections= ставим там 500 (max_connections=500 -вот так, больше пока не нужно. но потом Вам надо будет увеличить, когда онлайна будет подходить к этой цифре.)

 

Вопрос: у меня ява серв, значит ставить значение 0? или просто поставить 10.000

 

 

5. innodb_buffer_pool_size= тут ставим значение свободной оперативки. если у вас оперативки не так много, то лучше не ставить больше чем сейчас у Вас там стоит.

 

Вопрос. У меня 24гб оперативки, 15 выделено на ГС, сколько выделять базе?

 

 

 

3. ищем table_cache= (тут надо поставить значение = Вес базы *2, но для начала можете поставить 256)ка

 

Вопрос: как узнать вес базы, ну или какое значение надо ставить оптимальное?

 

 

4.15. Нарушение в оформлении тем и сообщений. - использование неоправданно крупного или мелкого размера шрифта

 

Сделал бы шрифт по крупнее,ели прочел

Изменено пользователем Absent

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4.15. Нарушение в оформлении тем и сообщений. - использование неоправданно крупного или мелкого размера шрифта

 

Сделал бы шрифт по крупнее,ели прочел

 

Сори за шрифт, копировал, он получился наверное раззмером -99, сделал как смог

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

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

×
×
  • Создать...