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

Oc Для Ява Сервера

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

Всем привет. У меня есть вот такой вопрос: какую лучшего всего OC поставить для Java сервера Lineage 2 Interlude рассчитывая на онлайн не более 300 человек при серверном оборудовании с характеристиками: Pentium® Dual-Core CPU E5400 @2.70GHz; 4 GB ОЗУ; жесткий 360 GB 7500 RPM; интернет канал 3 MB\sec. По мимо этого если кто знает и кому не трудно дайте пожалуйста мануал по оптимизации оборудования, а именно распределение оперативной памяти (при том что жесткий диск 1 но разбит на 2 раздела, а так же как лучше в таком случае распределить местоположение всего на жестком диске), настройка ява сервера под оборудование и базы Mysql. Буду очень благодарен, поставлю спасибку, а если ответите на все вопросы то и на бутылку пива кину=)

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


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

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

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


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

И сейчас я просмотрел твой ответ в другой теме и что то там я не нашел ни 1 ответа на мои вопросы....

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


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

Это что ??!

 

По поводу ОС 32 бита

Предел 32 битной системы 3. с небольшим гига. (4 точно не поддерживает)

Может отображать 4 гига но юзать будет 3 с копейками.

Если у вас более 3 гига, вам необходимо ставить 64 разрядную систему.

И для полного кайфа, 64 разрядный mysql и java platform.

на 32 битной системе максимальное выделение памяти для java приложения можно установить 1580 (далее будет ругаться)

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


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

То что х64 под сервер с 4 гб озу нужно это и ребенку понятно, я стою перед выбором между Linux и Windows server 2003-2008. Ты в своем ответе указал только скольки разрядную нужно ставить а я ведь спросил какую именно OC лучше поставить.....

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


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

Щя пописать схожу отвечу.

 

Сек.

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


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

Начнем...

 

Linux - если не понимаешь лучше не ставить.

 

Если конечно не хочешь танцевать с бубном.

 

Просто все говорят Линукс, Линукс, Линукс...

 

Задавая вопрос скажи 5 отличий от Виндоус сервера, человек приходит в ступор.

 

На Линуксе все все просто, гайдов много но и мороки не мало.

 

Windows Server настроить сложнее раз в 100, потому что людей с сертификатом Виндоус Администратора тут точно нету.

 

Если хорошо настроить Windows Server он будет работать не хуже чем Linux и это факт. Серьезные компании работают на WS и куй кто их ломает...

 

Теперь по теме:

 

Лучший вариант для тебя это Windows Server 2003 x64 Enterprsise Edition.

 

Скачиваем для нашего дистрибутива ОС Mysql (Пасс www.la2base.ru)

Скачиваем для нашего дистрибутива ОС Java platform (Выбрав 64 битный Mysql) JRE

 

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

 

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.Закройте все окна и перезагрузите компьютер.
Если есть пустой хард, то советую использовать его под файл подкачки.
На этом настройка на данном этапе закончена.

 

Далее пошли в 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.

 

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

-------->Это нужно установить на значение 0,так как это не используется в l2j серверах и только замедляет работу сервера.

 

# Данная опция подаёт запрос на кеширование сервера в оперативную память и количество памяти для к 
кэширования.1=включено,0=выключено. 
query_cache_size=0
------> Если ваши таблицы становятся большими, нужно поставить более большее значение чем есть,т.е. если ваша таблица весит 200 мб,то нужно поставить в 2 раза больше т.е. 512.

 

table_cache=256

 

innodb_additional_mem_pool_size=8M
------>Хз для чего нужная эта фишка, тестить не хочу.
------>Но знаю точно что выставив 0 будут проблемы с I/O spikes
------>Потому юзаю "2"

 

# 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

 

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

 

# 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=20
-----> зависит от мощности проца, в твоем случае 20 будет нормально.

 

memlock
-----> создается отдельная таблица для каждого файла. это создает хорошее повышение производительности сервера 
-----> Помните если вы что либо изменили в конфигурации mysql,то вам нужно заново импортировать все таблицы/файлы в mysql. 
-----> Создайте базу с таким название и оставьте её пустой.

 

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

 

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

 

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

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

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

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

Код:

 

startgameserver.bat 
title Game Server Console 
:start 
echo Starting L2J Game Server. 
echo. 
REM ------------------------------------- 
REM Default parameters for a basic server. 
REM java -Xmx2028m -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 -----

 

Ставишь высокий приоритет на ГС и все будет чик-пик.

 

По поводу интернета я хз.

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


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

По поводу 2008 он еще очень свежий и строился на семействе Висты.

 

Не лучший вариант. 2003 надежней и старой закалки и хорошо себя показал в работе в крупных компаниях.

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


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

Ответ более чем понятен, спасибку поставил)

И еще вопросик, все знают шара защиту где для ее работоспособности нужно указать имена окон и процессы запрещенных программ. Мб у кого то есть этот список? просто писать самому будет очень долго...

А так же существует ли простенькая программа для защиты сервера от дос и ддос атак, типа я ее включу и все, проблем нету(я рассчитываю на атаки от нубов, т.к. мой проект маленький)

И вот еще, у меня был сервер, на него пошла дос атака(атака шла только с 1 ип адреса), я поставил оутпост файрволл, добавил в его настройках в раздел блокировка ип адреса сам адресс с которого велась атака(этот адрес по диспетчеру задач было видно, т.к. там кроме него никого больше не было, он флудил очень быстро). Но что самое тут интересное, не смотря на то что вроде как этот ип адрес был заблочен атака продолжалась вестись, и лишь изредка писало что ип ....... заблокирован, но при этом он блокировал 1 пакет и следом за ним летела еще сотня, которая удачно дошла до меня. Я не пойму, файр волл реально так криво работает?

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


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

Программа гавно на самом деле, но можно еще поставить логин от ПВ.

 

Она защитит от брута, и начальная защита от PHX, Люди через ПХ не будут видеть чара на аккаунте.

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


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

А как на счет слабых ддос атак, мне бы узнать как легко и быстро защититься от них и все, я приступлю установке ОС и запуска проекта

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


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

Да и еще, Windows Server 2003 x64 Enterprsise Edition - мб у кого есть ссылочка на эту ось ( только русскую). Я сейчас облазил поисковики и не понятно что там качать, их очень много, непонятки с разрадностью ос, если и нашел х64(как раз то что мне нужно) то там нету ключа или английский язык и т.д. В общем лично я ненашел то что можно было с уверенностью скачать и поставить, я уверен что много людей пользуются этой осью, поэтому и прошу ссылку на Windows Server 2003 x64 Enterprsise Edition русскую

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


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

От ДДОСА защит нету конкретных.

 

Зависит от железа, и от ширины канала.

 

Либо Файером ставить фильтры на порты сервера.

 

Да и к тому же, проект с онлайном 300-500 врятли кто будет ддосить с суммарного кол-во компов.

 

Т.к там целый ДЦ надо заказывать для ДДОСА, атаки с 20-80 машин Windows server спокойно отобьет.

 

Либо сделаем рестартик и поменяем порт ГС и логин сервера 2 минуты дело )

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


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

Тему думаю даже стоит поднять !

 

Очень актуальна, спасибо Силвеин !

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


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

Спсибку еще раз поставил, но я не понял в твоем ответе 1, т.е. для маленькго проекта все что нужно это только поставить windows server который ты указал и он сам по себе отобьет небольшую атаку нуба???

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


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

Нуба с 1 компа ? он 50-80 спокойно выдержит при твоей конфигурации компа. Но ширина канала 3 мб/с очень мала. Для онлайна 300 человек.

 

100 мб/с надо.

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


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

да и кстате как я на играющем сервере изменю порты??? потом ведь никто туда тупо не зайдет

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


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

и вот еще один не понятный твой ответ, цитирую"он 50-80 спокойно выдержит при твоей конфигурации компа."

В этой цитате "50-80" это что? игроков на сервере или атак

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


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

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

И все же 2 вопроса остались по прежнему:

1. Список имен окон и процессов для защиты

2.Ссылка на Windows Server 2003 x64 Enterprsise Edition русскую без активации, т.е. с ее использованием на неограниченный срок

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


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

Спасибо, а сильные отличия между ОС 2003 и 2008 ?

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


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

2008 не доработанный до конца, ну сырой кароче 2003 проверенный уже на практике и собственном опыте.

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


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

Ну все, всем биг спс особенно Silvein. Сейчас буду ставить винду и проводить все настройки=) затрахал просто онлайн в 30 человек и агро-школьные читаки=))

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


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

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

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

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

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

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

Войти

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

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

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

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

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