Назад | Перейти на главную страницу

Идеальные характеристики сервера / программное обеспечение для хранения почты, файлов и баз данных

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

1) Веб-сайт
1) Почтовый сервер
1) Сервер базы данных
1) файловый сервер

В данном сценарии, скажем, есть сайт, который будет предлагать каждому пользователю 5 ГБ дискового пространства для хранения файлов вместе с электронной почтой и специальной базой данных.

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

Что было бы разумным и эффективным способом справиться с этим?

Это мое понимание

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

2) Для почтового сервера, чтобы обрабатывать равное количество зарегистрированных пользователей., Будет в первую очередь обрабатывать электронные письма и вложения электронной почты.

3) База данных не будет ограничена по размеру и будет хранить только контакты каждого клиента и настройки профиля, поэтому каждый раз, когда пользователь регистрируется в настройках, будет извлекаться из базы данных. Я планирую загрузить настройки в $ _SESSIONs, чтобы база данных не запрашивалась каждый раз при перезагрузке страницы и т. Д. Но контактная информация будет запрашиваться с сервера при каждом действии.

4) файловый сервер просто не будет обслуживать файлы для процессора или памяти.

Что касается программного обеспечения, я склонялся к CentOs 5.5 и Plesk 10.2 для обработки сервера веб-сайта и MySQL 5 для серверов баз данных, возможно, Atmail для почтового сервера. Что рекомендуется со стороны программного обеспечения для загрузки на каждый из этих серверов?

У меня нет опыта в этой области, но я получаю его каждый день. Мне нужно быть разумно информированным, чтобы я, по крайней мере, знал, с чем имею дело, если найму кого-то, кто займется настройками за меня.

По вашему опыту, ребята, что было бы идеальной настройкой с аппаратной и программной конфигурациями?

Также рассмотрим пример пользовательской базы из 5 000 клиентов. Таким образом, каждый имеет 5 ГБ веб-пространства, электронную почту и собственную базу данных.

Это довольно обширная проблема дизайна и довольно сложная. Каждый из этих компонентов имеет свои собственные важные конструктивные особенности. Уровень, который вы представили, находится на довольно абстрактном уровне, поэтому лучшее, что мы можем дать, - это довольно абстрактные ответы.

  • Один сервер для каждой службы в некоторой степени обеспечит лучшее обслуживание, чем услуги совместного хостинга.
  • Файловые серверы действительно имеют тенденцию очень мало использовать CPU (даже если файловым сервером является Windows).
  • Пользователи 5K при среднем использовании пространства 5 ГБ составляют 25 ТБ, что является значительным объемом хранилища. Запланируйте это.
  • Для пользователей 5K может потребоваться несколько серверов для некоторых служб в зависимости от загрузки приложения. Планируйте это с самого начала.

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

Чтобы ответить на эти вопросы, вам также понадобятся данные или ответы по следующим вопросам и темам:

  • Сильное ощущение рабочего процесса пользователя во всей среде.
  • Насколько хорошо система ведет себя при высокой нагрузке.
    • Как только нагрузка начинает перегружать части вашей инфраструктуры, как это влияет на работу пользователей?
    • Какие события вызывают большую нагрузку?
      • Утренний вход в систему?
      • Вечерний вход домой с работы?
      • Специальные мероприятия вождения нагрузки?
  • Насколько хорошо масштабируется система.
    • Насколько легко добавить серверы к частям рабочего процесса?
      • Насколько легко добавить веб-серверы?
      • Насколько легко добавить серверы баз данных?

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