avatar_Killbrum

Выбор железа под сервер - обзор от сертифицированного разработчика ПО

Автор Killbrum, 2012 Дек. 22, 17:14

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] сервер mu onlineобзоржесткий дисквыбор железасертифицированный разработчикпинг

Killbrum

Доброго времени суток! Такой топик уже был но пожалуй выскажу свою точку зрения.

Данная статья будет полезна как новичкам так и профессионалам. Впервые познакомился с MuOnline в далеком 2004ом году. Сам же являюсь сертифицированным разработчиком ПО и обслуживания ПК.

Общие сведения.


Жесткий диск. Основа каждого сервера это База Данных. В проектах MuOnline используется MSSQL. Эта СУБД достаточно массивная и очень быстрая. В основном она оперирует файлами. При работе она проецирует файлы (базы данных) в память. Если таблицы слишком большие данные начинают буферизироватся и отправляются в «файл подкачки». Базы в 90% случаев очень большие. Так что файл подкачки будет использоваться постоянно. Представим что приходит запрос на выборку некого столбца который лежит достаточно «далеко». В итоге СУБД начинает обращаться в файлу подкачки и записывать нужные данные в память. Конечно, обращение к часто используемым данным хорошо кэшируется но большинство данных остаются «за бортом». В итоге приходим к выводу что СУБД часто использует жесткий диск. По правде скажу то жесткий диск используется достаточно интенсивно и постоянно. Так что линейное считывание, произвольный доступ и т. д. Играют достаточно весомую роль. Лучшим вариантом был бы SSD диск но такой износится очень и очень быстро. Так что внимание следует обращать на быстрые диски с 10 000 — 15 000 оборотов в минуту. Лучше всего подойдут диски SCSI но ввиду дороговизны контроллеров можно приобрести пару VelociRaptor и создать из них RAID.

Память. Поскольку эмуляторы и обычные сервера писаны на «С++» то сверх больших обемов памяти не надо. Максимальное потребление памяти сервером это 1-1.5 Гб RAM. Надо еще учесть потребление памяти системой. Например для Windows Server 2003 желательно иметь дополнительно 512 RAM для системы. Для Windows Server 2008 — 756 RAM. По себе скажу что стояла VPS с 756 (а потом 1024) mb RAM и всё было абсолютно нормально.

Интернет. Существует очень много мифов и легенд о том какой же всё таки должна быть скорость интернета для серверов. На самом деле реально потребление 1го клиента около 2 кб/с (может варьироваться в зависимости от версии и несколько подымается при большом онлайне). Если учесть что 1 клиент = 2кб/с то 100 игроков = 200кб/с. Средний онлайн серверов 150. Для комфортной игры (без учета форс мажорных обстоятельств) серверу необходимо примерно 5 мегабит скорости. На данный момент такую скорость имеют практически все пользователи а на серверах ставят уже 100 мегабитные каналы. Куда большую роль играет пинг. Даже если у Вас канал в несколько гигабит но пинг при этом достаточно высок это уже будет сильной проблемой.  Средний пинг игроков составляет 50-80. Для шутеров такой пинг уже считается не приемлемым. Но в нашем случае этого хватает. Но! Чем меньше пинг тем комфортной будет игра. Если пинг будет слишком большим то игроков начнет просто выкидывать с игры.

Система. Сложно сказать что лучше ставить. Windows Server 2003/2008/2012. Мое предпочтение останавливается именно на Windows Server 2008. Почему? При правильной настройке он не требует дополнительного брендмауера/фаерволла. Поддерживает большинство современных приложений (в отличии от других собратьев). Если использовать более старые версии то возможны проблемы с использованием или с некоторыми приложениями. При использовании более новой системы так же могут быть ошибки с приложениями и стабильностью ведь  Windows Server 2012 только вышел и он еще не обкатан.

СУБД. Часто можно увидеть что люди всё еще используют т. н. «старый добрый скул 2000». MSSQL 2000 даже с Update 4 очень устарел. Скорость его работы просто ужасна. Нагрузка на систему сильная. Будет ли нормально работать приложение писанное для Windows 95 если его запустить на процессорах Intel Core i7 ? Нет. Так же и здесь. Данная СУБД не заточена под новые процессора и архитектуры. Соответственно работать будет через пятое колено. Моё предпочтение падает на MSSQL Server 2008 R2. Потребление ресурсов значительно ниже, выборки и работа на порядок выше. Да и удобств по больше, уже не говорю о защите которая выросла на голову. К тому же спокойно можно установить совместимость со старыми базами и использовать бэкапы от 2000ой версии.

Процессор. Прежде всего надо отметить что есть 2 типа серверов: эмуляторы и стандартные сервера. Под каждый тип сервера процессор должен немного отличатся. По этому отдельно разберем какое же процессор нужен для эмуляторов а какой для обычных серверов.
Спойлер
Эмуляторы.

Что такое эмуляторы? Это сервера который полностью написаны сторонними разработчиками и частично или полностью копируют стандартные сервера. Стоит отметить что они компилируются (как правило) на Microsoft Visual Studio 2010/2012 что стандартно дает существенную оптимизацию. Компиляторы научились хорошо оптимизировать циклы, управление памятью. Некоторые компиляторы поддерживают свои интерпретации стандартных ф-ций (например memcpy, strcpу и т.д.). В итоге, например, при вызове функции strcpy раньше затрачивалось 1000 машинных тактов а сейчас 100. Конечно это всё сильно утрировано но код стал значительно быстрее выполнятся. Но здесь есть свои плюсы и минусы. Например при компиляции на самых последних версиях компиляторов на старых машинах код будет работать медленней чем на старых компиляторах. Это связано с многими разными факторами, например выравниванием памяти. Так же стоит отметить что из-за увеличения скорости обработки большинства ф-ций ускорился сам процесс работы. В итоге нагрузка на ЦПУ так же увеличилась. Но при этом так же увеличилась скорость реакции сервера на разные события. Монстры начали быстрее бегать, лучше реагировать на игроков и т. д.

Обычные сервера.

Согласно древним мифам обычные сервера сливались с официального сервера. Данным мифам я не сильно верю но есть вещи которые остаются не измененными. Эти сервера попадают в паблик «как есть» и модификация происходит с помощью инжектирования DLL библиотек. Такие сервера имеют около 5 потоков из которых 4 потока практически всегда не активны. Компилировались они на очень старых версиях компиляторов так что смысла ставить мощнейшие процессоры типа Intel Core i7 попросту нету. Для них идеально подойдет даже какой то Intel Pentium IV Extreme Edition. Ведь главное это тактовая частота а не кол-во ядер. Такие сервера так же лучше работают на более старых системах т. к. писались они именно под них. Скорость работы таких серверов оставляет желать лучшего. Реакция на действия игрока очень медленная.
[свернуть]

__________________________________________________________________________

Выводы


Минимальные требования:
Intel Pentium IV Extreme Edition
1 Gb Ram (DDR 1 — 3 )
100 Gb HDD
Connection 5 Mbit/s.

Рекомендуемые требования:
Intel Xeon 5000+ Series
4 Gb RAM DDR 3
RAID 10. 500+ Gb x2 VelociRaptor
Connection 100+ Mbit/s and Ping < 10.

Profesor08

Пинг ниже 10 разве что у соседа может быть. А статья очень хорошая. Написана доступным языком, и много чего разжевано.

epmak

От себя могу добавить по поводу хдд - можно использовать зеркальный рейд на сата2 ентерпрайз, например wd re, на самом сервере не рекомендую больших объемов (250~3хх будет за глаза, 100 на систему, остальное под сервер и его базы + запас)  жестких - достаточно чистить, дефрагментировать файлы и сливать бекапы. причем сливать лучше всего на левую машину, для таких вещей оч сильно пойдут NAS. Но в силу полуподпольного существования серверов, средства бекапа страдают. Нужно хотя бы раз в день сливать бекапы с сервера (сами они делаться могут хоть раз в полчаса). И настоятельно рекомендую читать логи, причем как серверные, так и системные. Ибо оно всегда - как грянет гром так и смотрим. Много чего можно предупредить до наступления критического момента (например, посыпался жесткий, отвалился смарт и т.д.).

Killbrum

Цитата: Profesor08 от 2012 Дек. 22, 15:54  Пинг ниже 10 разве что у соседа может быть. А статья очень хорошая. Написана доступным языком, и много чего разжевано.
если стоит медь то да. Пинг будет на уровне 30. Если оптика (у меня стоит оптика) то пинг меньше 10 норма :)

RedDawn

#4
Killbrum а как же быть мне?

У меня Серверная машина Intel Core i7 4x4.0 МГц.
16 Гб Оперативки.

И Серверные Файлы у меня MuGlobal.
Стабильность Сервера на Windows XP SP3 x86 или Windows XP SP2 x64.
А сервер я менять не хочу.
Значет мне придется на Windows Xp SP x64 сидеть.
Или Переносить Сервер на 2-ух яйцовыи Ноутбук с 6 Гб Оперативки?

mufantazy

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

Killbrum

Цитата: MuEternaL от 2012 Дек. 22, 19:01  Killbrum а как же быть мне?

У меня Серверная машина Intel Core i7 4x4.0 МГц.
16 Гб Оперативки.

И Серверные Файлы у меня MuGlobal.
Стабильность Сервера на Windows XP SP3 x86 или Windows XP SP2 x64.
А сервер я менять не хочу.
Значет мне придется на Windows Xp SP x64 сидеть. :)
Или Переносить Сервер на 2-ух яйцовыи Ноутбук с 6 Гб Оперативки? :)
смысла в  Intel Core i7 и ХР нет никакого. Распределение нагрузки на потоки и использование полного адресного пространства на нуле. Му вообще не требует таких ресурсов. На такой машине можно поднять 10 серверов и все они будут работать просто замечательно

Цитата: mufantazy от 2012 Дек. 22, 19:19  можете посоветовать где лучше взять дедик, или вдс, дешевый,что-бы сервер стоял и проблем не было
nqhost.com

GoldenDream

Подскажите такого вдс хватит для нормального сервера.
Дисковое пространство 60 Гб
CPU  2 x 2,327  МГц
ОЗУ  4 ГБ
инет  100мб
Заранее спасибо.

epmak

смотря чей сервер(gs) и смотря какой комп, вдс не вдс... вообще вроде каГ должно потянуть

Desmond

Цитата: GoldenDream от 2012 Дек. 26, 22:47  Подскажите такого вдс хватит для нормального сервера.
Дисковое пространство 60 Гб
CPU  2 x 2,327  МГц
ОЗУ  4 ГБ
инет  100мб
Заранее спасибо.
Хард маловат, а так и на пару серверов хватит

GoldenDream

#10
Цитироватьсмотря чей сервер(gs) и смотря какой комп, вдс не вдс... вообще вроде каГ должно потянуть
Сервер IA_Juliа
ЦитироватьХард маловат
А скок нада для 1 сервера?

Ember

Цитата: GoldenDream от 2012 Дек. 28, 06:17  А скок нада для 1 сервера?
60 хватит, но логи придется часто чистить. Или сделать автоочистку и не волноваться.

epmak

вообще то лучше их изучать. а потом убивать. 60 за глаза. проо бекапы базы ток не стоит забывать. автолог базы тоже стоит отключить но бекапить часто!

BeL4eNaK

Цитата: GoldenDream от 2012 Дек. 26, 20:47  Подскажите такого вдс хватит для нормального сервера.
Дисковое пространство 60 Гб
CPU  2 x 2,327  МГц
ОЗУ  4 ГБ
инет  100мб
Заранее спасибо.
Для нормально сервера подойдет отлично.  (happy)

Похожие темы (5)