Как одинокий разработчик в своей компании, мне не хватает кого-то, с кем можно было бы поделиться идеями. Мне поручили собрать некоторые требования к оборудованию для нашего сервера, чтобы мы могли сделать некоторые внутренние веб-сайты общедоступными.
Текущее оборудование
SRV1 - процессор статистики.
Windows server 2003 Intel Xeon CPU 3,00 ГГц 1 гигабайт RAM 512 гигабайт зеркальные raid-диски
SRV2 - в настоящее время используется для репликации определенных таблиц.
Windows Server 2003 Intel Pentium 4 1200 МГц 1,00 ГБ ОЗУ 40 ГБ жесткий диск
Текущая статистика трафика SRV1:
Трафик 1 ø в час Получено 149 ГиБ 1034 МиБ Отправлено 445 ГиБ 3096 МиБ Всего 594 ГиБ 4130 МиБ
В машине запущена вампирка. Есть пара простых программ на основе java, которые выполняют чтение и запись в базу данных.
Приложение 1:
Загружает данные в таблицу myisam -> Выполняет только запросы выбора в таблице myisam и использует информацию для вставки и обновления большой таблицы InnoDB. -> Суммирует данные (вставка и запрос обновления дублированного ключа) в большой таблице InnoDB (в настоящее время 7,5 ГиБ 13 миллиметровых записей) в меньшие таблицы InnobDB (самые большие 2 гигабайта 2,016,166 записей) для быстрого доступа для чтения.
Приложение 2:
Читает меньшие таблицы InnoDB, чтобы сделать некоторые предупреждения / отчеты о данных, которые они содержат.
Использование Интернета:
Доступ только для чтения к меньшим таблицам InnoDB как внутри, так и снаружи.
Я не верю, что сервер будет иметь огромное количество подключений через веб-сервер, даже если мы передадим клиентам данные, хранящиеся в этих таблицах. Так что меня это не слишком беспокоит, меня больше беспокоит скорость доступа к данным.
Итак, резюмируя этот тупо длинный вопрос.
Что бы люди порекомендовали с точки зрения ОС / ОЗУ / жестких дисков / рейдов / процессоров. Я предполагаю, что ответом будет лучшее, что вы можете себе позволить. Но я признаю, что я немного не понимаю, что они лучше всего могут себе позволить в таких вещах, как ram / raid / processing / harddrives и сколько это должно стоить.
Будем очень признательны за любые лишние советы.
заранее спасибо
Алан
Если вы хотите остаться со знакомой установкой Windows, вам обязательно стоит рассмотреть Windows 2008 R2 Standard, но если вы не хотите платить за лицензию, вы можете переключиться на Linux (CentOS, RHEL, Debian, Ubuntu - хорошие дистрибутивы).
Вероятно, вам понадобится четырехъядерный процессор, ничего слишком дорогого, возможно, Intel X3440 с 12 ГБ ОЗУ, который должен помочь вашей базе данных размещаться в ОЗУ, чтобы все было быстро, вместе с 4 жесткими дисками, либо обычными корпоративными SATA, либо SAS 15K RPM. дисков, если вам нужно больше дисковых операций ввода-вывода, но при любом выборе вам понадобится RAID-10 с питанием от карты RAID с BBU.
Dell могла бы стать хорошим поставщиком такого сервера. Если у вас все хорошо работает на вашем текущем оборудовании, этот сервер будет казаться быстрым.
Здесь есть несколько хороших ответов. Я постараюсь коснуться некоторых других моментов.
Все новое будет лучше того, что есть у вас. Pentium IV - это сервер только по названию. Не повторяйте эту ошибку.
Что бы вы ни получили, я предлагаю два источника питания, ECC / буферизованную память, как минимум внутренние зеркальные жесткие диски для загрузки и RAID для данных. Выбираете ли вы SAN, например iSCSI или FibreChannel, или выбираете Direct Attached, зависит от вашего бюджета и планов роста. Получите 3-летний 4-часовой план обслуживания заранее, потому что, как только вы его купите, начальник не захочет продлевать его из года в год. Он с радостью рискнет вашей работой, чтобы заявить о своей экономии.
Для масштабирования я предлагаю два сервера: один с высокой тактовой частотой процессора для передачи данных по протоколу HTTP, а другой - с большим количеством ядер и оперативной памяти для передачи данных в СУБД. Обратите особое внимание на Ethernet в системе HTTP. Если вы можете получить двойной Ethernet и коммутатор, который может обрабатывать EtherChannel для вашего Интернет-соединения, тем лучше. Помимо производительности, это даст вам избыточность, вы можете потерять порт Ethernet (на стороне сервера, на стороне коммутатора или неисправный кабель), и обслуживание будет продолжено. Ссылка EtherChannel веб-сервера должна быть выделена прямо для Интернета (или DMZ, что угодно), чтобы локальный широковещательный шторм Ethernet не уничтожил вашу веб-службу. Это означает, что вам понадобится как минимум два других порта Ethernet на вашем веб-сервере, а точнее три.
Точно так же связь между вашим веб-сервером и сервером РСУБД должна быть выделенной парой портов Ethernet. Это означает, что ваша локальная сеть может быть затоплена широковещательным штормом, и это не повлияет на обмен данными между сетью и РСУБД. Ваша местная локальная сеть может погрязнуть в жалости к себе и плохом обслуживании, в то время как ваши клиенты получают хорошее обслуживание.
Что касается бренда, выберите крупного поставщика, у которого есть обслуживающая компания. Чтобы выяснить это, попросите представителя малого бизнеса поставщика позвонить вам (о, мальчик, он должен быть готов к этому), а затем задайте ему трудные вопросы, например, где вы храните свои детали, кто будет обслуживать мои системы, как далеко они расположены и т.д. и т.п. который.
Хорошо, давайте прямо:
Windows server 2003 Intel Xeon CPU 3,00 ГГц 1 гигабайт RAM 512 гигабайт зеркальные raid-диски
Эта машина похожа на порше без двигателя. Слишком мало памяти для современного компьютера с несколькими ядрами. Зеркальные диски все еще слишком медленные, когда вы загружаете. Вы должны знать, является ли это проблемой (необходимо проверить счетчики дисков).
Я запускаю SQL Server на: 4 ядра 8 ГБ виртуализированной памяти. Однако расположение диска вас заинтересует. У меня есть разные наборы для tempdb, файлов журналов и данных, и данные представляют собой рейд 10 на 6 велоцирапторов.
Зачем? Диски LOVE (!) IO, и в моем случае я запускаю таблицы с миллиардом и более строк, которые я собираю. Оперативная память пригодится для кеширования, но кроме этого критичен ввод-вывод диска. Когда мне нужно вырастить их, я могу поставить SSD в качестве второй пары (пара SSD и физического диска в Raid 10 - у моего контроллера Adaptec есть некоторые приятные функции, когда вы это делаете).
Теперь железо. Супермикро. Только не имея толковых .... чехлов.
Вы можете получить корпус с высотой 4 стойки и 24 слотами для дисков или один с высотой 8 единиц и 72 (!) Слотами для дисков, если они вам когда-нибудь понадобятся (я люблю эту штуку - к сожалению, у меня их нет).
ОС: Без разницы. Шутки в сторону. У WIndows ЕСТЬ накладные расходы - да. Но кого это волнует. Серверы БД потребляют много памяти, и небольшие накладные расходы WIndows не сломают машину размером 16+ ГБ.
Процессоры: в зависимости от того, что вы делаете, не имеет значения или нет. Они актуальны для хранилищ данных, очистки данных, но чистая обработка транзакций НОРМАЛЬНО намного больше связана с вводом-выводом. IO Это то, за что живут и умирают. Велкоирапторы - это ОЧЕНЬ хорошее место между низкой стоимостью и высокой производительностью ... намного дешевле, чем диски SAS, намного быстрее, чем большинство дисков SATA. Купите хороший RAID-контроллер (Adaptec 5805QZ возглавляет мой список).
Теперь проверим реальность:
Суммирует данные (вставка и запрос обновления дублированного ключа) в большой таблице InnoDB (в настоящее время 7,5 ГиБ 13 миллиметровых записей) в меньшие таблицы InnobDB (самые большие 2 гигабайта 2,016,166 записей) для быстрого доступа для чтения.
В моем мире и то, и другое можно отнести к размеру игрушки. 13 миллионов - это не значит, что ДБ потеет. 7,5 ГБ БЫЛО БЫЛО большим, когда я начал профессионально работать с базами данных, но тогда на сервере на базе Pentium (примечание: Pentium - даже не Pentium 2) было 128 МБ памяти;) Сегодня таблица 7,5 ГБ - это то, что вы загружаете в память на рабочей станции.
По низкой цене: * Системная плата AMD Phenom II, шесть модулей, 16 ГБ оперативной памяти. * Получите это пассивно охлажденным. * Если вам нужно всего 8 дисков, вы даже можете поместить его в маленький кубический футляр (скоро у меня будет один, два из этих хранилищ моих личных данных).