Сервер - статьи

       

Строим свой WWW сервер с ноля


Udjin Kondratov,

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

В этой статье я в краткой форме расскажу о том, как я строил свой WWW сервер.

С чего начать.

Начинать нужно с задач. Задачи определят требования к ресурсам.

Операционная система.

NT4 Server. Спорить и доказывать какая из операционных систем лучше или хуже я не буду, т.к. я пробовал и RED HAT и Linux и .. остановился на NT4, так сложилось.

NT4 весьма требовательная операционная система. Для более или менее успешного запуска ей необходимы 486 DX и 12 Mb RAM. Для работы - P100 и 32 Mb RAM. Где взять NT4 ? Лучше всего купить.

WWW server.

Серверов много. В запале "Интернет-гонки" ведущие производители так и норовят переплюнуть друг друга. Так какой же сервер выбрать? Походим по интернет и посмотрим. Нам нужен сервер:

  1. Бесплатный.
  2. Поддерживающий интерфейсы CGI и ISAPI. (на самом деле интерфейсов значительно больше ..)
  3. Отказоустойчивый.
  4. Быстрый.

По всем параметрам, кроме последнего, нам подходит IIS4. Хотя это не бесспорно.

Требования IIS4 к компьютеру:



Комплектующие Требуется Рекомендуется
Processor 66 MHz 486 90 MHz PentiumR
RAM 32 MB 64 MB
Free hard disk space 50 MB (minimum install) 200 MB
Monitor VGA Super VGA
CD-ROM drive (optional) 3X 6X

Определимся с информационным наполнением сервера.

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

Для серьезных задач используют SQL базы данных, а для простеньких повседневных соответственно, что проще, например DB или Access. Исходим из того, что база с 5-6 таблицами и 50 000 записями в каждой занимает на винчестере 8-10 Mb. Обработка запросов к такой базе данных серьезная задача и для ускорения выполнения запросов необходимы соответственно программные и технические решения.
Программные решения рассмотрим ниже а вот технические - это память и скоростные винчестеры. Сколько именно памяти? Вопрос из вопросов. Посмотрим документацию на ODBC: Размер буфера в килобайтах рассчитывается по формуле ((Вся доступная память - 12 Mb)/4) + 512 Kb. В случае, если в системе имеется 32 Mb памяти: ((32Mb-12Mb)/4) + 512 Kb = 5632 Kb. Дело в том, что доступ к базе данных осуществляется через Engine. Engine - это "мотор" обрабатывающий запросы извне, работающий с данными и возвращающий ответы . Моторов, как и баз много, и все разные, но память успешно потребляют все. Если вы будете использовать Engine от стороннего производителя, например Cold Fusion, то смотрите его документацию., а я по опыту скажу, что памяти для них нужно не меньше, а зачастую даже больше L . Если баз данных на сервере не будет, то прикинем средний размер странички и сколько страничек всего будет : по опыту - большие сайты занимают на удивление мало места, так, например, сайт занимает всего 20 Mb (без учета размера баз данных), но сайты имеют свойство разростаться... например -microsoft.com. Начиналось все с 2-х P-66 а сейчас 16 IIS 4.0/WindowsNT 4.0 Compaq Proliant 5000s , 20 Gb документов, 6 000 ASP - файлов и все это хозяйство разрастается :-)). Ну что, посчитаемся. Требования к компьютеру.

Компьютер Задачи
90 MHz PentiumR, 78 Mb RAM, SVGA. 400 Mb HDD. NT4 + IIS без баз данных
Собираем компьютер. . Ни в коем случае не разгонять. Кэш - чем больше тем лучше. Чей процессор? Тут я не в праве что-либо советовать, дело вкуса, у меня Intel. Какой именно? Самый-самый. Если есть деньги покупайте PPRO 200 с кэш-памятью 1 Mb. Сколько процессоров? Мда ... вы видно собрались строить что-то весьма крутое... . Любая, работающая, не разогнанная. В случае с Pentium - чипсет HX или VP3, в случае с P-II - лучше всего BX. Лучше "брэнд". Выбирайте самый быстрый и самый дорогой. Настоятельно рекомендую SCSI винчестеры. Сколько? Лучше всего 2 винчестера. Дробить бутовый винчестер на 2 и создавать на каждом из них логический диск не имеет смысла, - скорости это не добавит.


Если Вы еще не "гуру" в NT4 то приобретайте что-либо размером до 2-х Gb и не создавайте себе головной боли, если "гуру" - тогда покупайте то, что считаете нужным. Не забудьте про охлаждение винчестера. Контроллер для Вашей дисковой подсистемы выбирайте исходя из Ваших винчестеров. Для SCSI - выбирайте производителя здесь: SCSI контроллеры. Очень много справочной информации про SCSI. SCSI контроллеры и материнские платы со SCSI SCSI контроллеры и материнские платы со SCSI SCSI контроллеры и материнские платы со SCSI SCSI контроллеры SCSI контроллеры Жесткие диски SCSI: , , , Для IDE винчестеров есть хорошие решения от Жесткие диски IDE:
Работающая. Какая именно? Сходите по ссылке и почитайте : Я предпочитаю .Тип памяти выбирайте исходя из возможностей Вашей материнской платы. Сетевые средства. Если мы собираемся подключиться по выделенному каналу к интернет то нам придется воспользоваться услугами провайдера. Наиболее вероятно что провайдер предложит Вам постоянное соединение V.34 , V.35 или G.703 , ISDN, RadioEthernet. В любом случае нам придется отталкиваться от требований и - или рекомендаций провайдера. Вот и все по компьютеру. Монитор, клавиатуру и мышь - по вкусу, не забудьте про сетевой фильтр и блок бесперебойного питания. Мы во всеоружии и готовы ваять.

Содержание раздела