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

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

У меня есть выделенный сервер (под управлением Windows 2008 Standard Edtion) с двумя жесткими дисками. У меня есть веб-приложение (написанное на ASP.NET), которое должно работать на этом сервере, веб-приложение использует MySQL, который также должен работать на том же сервере. Также будут фотографии пользователей, которые находятся в той же папке, что и папка приложения. В основном доступ будет к MySQL и фотографиям пользователей.

Итак, лучше ли использовать второй диск как для приложения, так и для файлов данных MySQL, чтобы я оставил первый диск для ОС?

ИЛИ

Используйте первый диск (на котором также находятся файлы ОС) для веб-приложения, а второй диск для MySQL, чтобы уменьшить время доступа.

Какой подход должен обеспечить лучшую производительность?

Большое спасибо

Если у вас небольшой объем оперативной памяти или части вашего приложения, размещенные на веб-сервере, очень интенсивно потребляют память (или вы ожидаете, что много одновременных подключений, поэтому небольшие процессы веб-сервера будут умножаться до чего-то большого), тогда единственное, что в этом устройстве будет создавать значительную нагрузку ввода-вывода - это база данных.

Предоставление ему собственного диска может немного улучшить производительность всего устройства, но вы также можете вместо этого рассмотреть возможность использования двух дисков в качестве массива RAID1 для повышения отказоустойчивости и, следовательно, доступности (это не устраняет необходимость в резервном копировании).

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

  1. Если вы делаете регулярные резервные копии (если нет, то почему бы и нет ?!), сделайте резервную копию на диск, на котором нет базы данных. Это ускорит процесс резервного копирования и минимизирует разницу в производительности, которую оно оказывает на работающее приложение.
  2. Если mysql позволяет вам отделить журналы транзакций от файлов данных, как это делают MSSQL и другие, то хранение журналов и данных на отдельных дисках может дать хороший прирост производительности, если ваша база данных видит много операций записи.

Я бы посоветовал вам использовать проверенную конфигурацию:

  • один раздел для ОС
  • второй раздел для БД, приложения, образов пользователей и т. д.

Вот почему:

  • ваша ОС может развалиться, но теоретически ваши данные будут отделены от любых сбоев ОС.
  • Вы можете создать резервную копию каждого раздела по отдельному расписанию по своему усмотрению.
  • Ваш ВОССТАНОВИТЬ время для одного раздела будет быстрее, чем для всех ваших яиц на одном диске / разделе.
  • в случае отказа одного диска вы не увидите простоя.

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

Было неясно, имеют ли ваши диски одинаковую емкость. Рассмотрим конфигурацию RAID 1, в которой диск разделен на эти 2 раздела.

Для других показателей эффективности:

  • рассмотреть стратегии кэширования режима ядра ASP.NET и IIS

Я бы тоже выбрал второй вариант, но однажды у нас был плохой опыт с таким вариантом, потому что, когда нам пришлось сменить нашего интернет-провайдера, новый интернет-провайдер не предоставил нам два диска, у них были только машины с одним диском, поэтому у нас были проблемы с реорганизацией все. Однако большинство машин теперь доступны с несколькими коннекторами SATA, так что теперь это больше не проблема, но да, прежде чем вносить изменения, необходимо рассмотреть план миграции и план роста. Нашей проблеме уже 7 лет, но да, мы планируем.

По поводу этого типа вопросов всегда ведутся споры о том, какой путь предпочтительнее, но я предлагаю переместить приложение и MySQL на второй жесткий диск.

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

Сколько просмотров страницы вы ожидаете в день? Вы реально уже измерили рабочие характеристики? Золотое правило оптимизации: «Измерь, затем сделай».

Я бы использовал ваш второй диск в качестве зеркала RAID-1, прежде чем беспокоиться о проблемах с производительностью.