Я прихожу в среду, где они используют NFS для доступа к PHP-скриптам и статическому веб-контенту, который хранится на сервере, находящемся в той же сети, что и интерфейсный сервер Apache. Только один интерфейсный сервер Apache получает доступ к этим файлам через NFS, поэтому это не та ситуация, когда они балансируют нагрузку на внешние серверы Apache.
Мы находимся в процессе виртуализации серверов Apache и NFS. Мы не согласны с тем, имеет ли смысл по-прежнему использовать NFS в этой ситуации или просто хранить весь веб-контент локально на том же компьютере, что и веб-сервер. Что вы все думаете?
Спасибо за любой вклад.
NFS вам понадобится только в том случае, если вам нужен доступ нескольких клиентов на уровне файловой системы. Поскольку вам не нужен доступ с несколькими клиентами, я бы действительно не рекомендовал NFS как лучший выбор.
Даже если ты делать есть несколько серверов Apache, я по-прежнему не рекомендовал бы использовать NFS как средство обмена вашим кодом между машинами. Инструменты автоматического развертывания могут легко распространять код в любое количество мест почти одновременно. NFS мощь быть лучшим выбором для пользовательских ресурсов, но это все еще не так банально, как может показаться на первый взгляд (мое мнение по этой теме доступно в этот другой ответ).
В настоящее время мы запускаем nginx и Apache, обслуживающие данные из общего ресурса NFS на NetApp FAS2050, без проблем с производительностью. Недостатком NFS является то, что поиск в относительно больших каталогах (> 200 файлов) выполняется довольно медленно, я бы рекомендовал вам поместить nginx в качестве кеша с этого сервера Apache для наименьшего влияния на производительность SAN.
Похоже, что в ситуации, которую вы представили, в этом сценарии будет очень мало пользы от использования NFS.
Вы получите наибольшую выгоду от установки с одним источником и несколькими серверами (хотя есть и другие способы справиться с этим). Для статических страниц, особенно если в миксе есть что-то кеширующее, производительность не должна быть большой проблемой. Возможно, вы столкнетесь с проблемой производительности, когда многие машины будут запускать PHP-скрипты. Однако это будет зависеть от вашей среды.
Тем не менее, чтобы дать вам представление о том, как это может быть выгодно: у нас есть файловый сервер Netapp, в котором мы дважды представляем тома как CIFS для клиентов Windows (маркетологи) и NFS для серверов Apache, которые распределяют нагрузку на 4 сервера. У нас есть все серверы Apache, смонтированные в режиме «только для чтения», и отдел маркетинга может вносить необходимые изменения непосредственно из Dreamweaver или из того, что они используют, а затем сохранять непосредственно в общую папку Windows.
Я должен упомянуть, что эта установка используется только для разовых маркетинговых инициатив. Наш основной сайт правильно управляется с помощью CMS и проходит надлежащий рабочий процесс.
В некоторых ситуациях использование NFS может иметь смысл. Один случай - если производительность вашей локальной дисковой подсистемы ниже оптимальной, но ваше хранилище NFS находится в высокопроизводительном дисковом массиве. Во всех остальных случаях вы просто добавляете свою сеть в качестве точки отказа без каких-либо преимуществ.