Лучшие практики для обслуживания большого количества файлов
В настоящее время у нас есть один Windows Server 2008 R2 в качестве контроллера домена и файлового сервера.
Мы обслуживаем около 6 миллионов JPG на 4 серверах IIS, которые затем обслуживаются веб-пользователями.
Проблема в том, что мы ежедневно получаем уведомления о памяти на сервере. Наш текущий сервер обслуживает эти файлы с одного диска (LUN). У нас также есть проблема с количеством файлов на диске. Таблица основных файлов будет становиться слишком большой, так как мы продолжаем добавлять больше изображений.
Наш текущий план состоит в том, чтобы:
- переместить файловый сервер на отдельную виртуальную машину
- добавьте 4 или 5 отдельных дисков (LUN) для обслуживания этих файлов
- перейти к 15 миллионам изображений к концу этого года (чуть более чем вдвое больше нашего текущего числа)
Мои вопросы:
- Как лучше всего обслуживать файлы?
- Мы нормально переходим на один сервер с 4 или 5 дисками (LUN) или мы должны перейти на 2 файловых сервера с 3 дисками каждый?
2 ответа
Как вы получаете оповещения памяти? Вы делали какой-либо анализ процесса, чтобы увидеть, является ли использование памяти каким-то образом вне нормы? Помните, что LSASS и кэш будут расти до точки физической памяти.
ОБНОВИТЬ:
Не получать уведомления под Windows Server 2003 меня не удивляет, так как он не был настолько эффективен в использовании оперативной памяти, как Windows Server 2008. Вы хотите, чтобы на используемом сервере использовалось как можно больше памяти, поэтому мониторинг только использования памяти является бесполезным показателем. Начиная с Windows Vista, Windows использует как можно больше оперативной памяти. Вы можете увидеть такое же поведение в Windows 7, подняв монитор ресурсов и посмотрев на вкладку памяти. Вот изображение с моей машины в настоящее время:
Обратите внимание, у меня есть только 64 МБ бесплатно! Это хорошая вещь. (раньше было 2 МБ, но я, должно быть, только что закрыл что-то). Обратите внимание, что синяя полоса показывает 1369 МБ ОЗУ в режиме ожидания - это, по сути, кэш в файловой системе, и если мне нужно больше ОЗУ в приложении, то откуда берутся страницы.
Так что вам нужно знать не то, сколько ОЗУ используется, а то, сколько использует каждое приложение, и является ли использование памяти этим конкретным приложением нормальным.
Хорошим способом определения этого (для создания предупреждающего оповещения) было бы посмотреть использование памяти и количество сбоев страниц в секунду. Если у вас чрезмерные сбои страниц, и вы интенсивно используете оперативную память, и у вас мало оперативной памяти, скорее всего, есть проблема. (на странице файлового сервера ошибки не так надежны, как индикатор проблем, так как он обслуживает файлы - таким образом, генерируя ошибки страницы, вы должны основать это перед установкой порога)
Надеюсь, этот краткий обзор мониторинга памяти поможет.
Вы должны перейти на 2 (или более) или более серверов для резервирования. Если вы загрузите их балансировку, вам будет проще снять одну из них / перезагрузить ее для технического обслуживания. Если у вас есть 3 сервера, а на самом деле нужно только 2, то окно вашего обслуживания также может быть в течение дня.
Я бы также распределил диски (LUN) по этим серверам - опять же для резервирования.