Я не знаю много о Debian и ни одного о NFSv4.
Но если опции монтирования являются все еще тем же как с NFSv3, мое избранное (для любого nfs-client-mount любая OS):
rsize и wsize настраиваются до разумных размеров на значение по умолчанию в наше время - смотрят на Вашу lokcal страницу справочника.
Я раньше использовал "wsize=32768, rsize=32768" для получения лучших уровней передачи перед этим.
Также необходимо заботиться на стороне сервера nfs (если NFSv4 является все еще тем же здесь как NFSv3):
Еще клиент попытается снова соединиться против пустого "сервиса nfs" и перестанет работать вместо повторной попытки.
BTW - что имеет SAN, чтобы сделать (в этом случае) с Унифицированным хранилищем Sun? Что произошло, когда Вы "потеряли" свой SAN? Почему сделал восстановить вещи повреждения процесса? Разве устройство хранения данных не было избыточно?
Я предполагаю, что ваша проблема на самом деле слишком много клиентов Apache для памяти вашего сервера. Когда вы получаете большой всплеск трафика, процессы Apache в конечном итоге используют всю оперативную память. Это вынуждает ОС начать принудительную замену процессов, что, как правило, значительно ухудшает ситуацию. В конце концов ваша память подкачки заканчивается, и ОС убивает все, что считает лучшим ... в данном случае MySQL, поскольку он использует много памяти. Обратите внимание, что увеличение памяти подкачки только отсрочит неизбежный сбой.
Я бы начал с уменьшения MAXCLIENTS
Apache до более разумного значения, исходя из возможностей вашего сервера. Вы можете сделать приблизительную оценку, запустив top
и просмотрев столбцы RES / SHR
для процессов httpd
. Разница между ними примерно в том, сколько использует каждый дочерний процесс. Например, на моих серверах среднее использование памяти на ребенка составляет 40 МБ, и я хочу, чтобы Apache использовал только 3 ГБ, поэтому для моего MAXCLIENTS
установлено значение 75 (3000/40). Вы можете немного поиграть с этим значением и некоторыми другими настройками подключения Apache по мере необходимости, чтобы Apache не использовал всю оперативную память и не начал использовать своп.
Вы также можете взглянуть на это с точки зрения того, что вызывает большое количество клиентов Apache. Если это реальный всплеск / всплеск трафика, вам, вероятно, понадобится более крупный сервер или больше серверов, или добавить уровень кеширования, чтобы уменьшить нагрузку на Apache. Если ваш сервер просто слишком медленный, чтобы обрабатывать нормальное количество входящих запросов, вам нужно уменьшить MAXCLIENTS
Apache до уровня, который он действительно может обрабатывать без резервного копирования запросов. Или, возможно, есть проблема с сервером, приложением или базой данных, которая приводит к зависанию или зависанию вещей, которые необходимо найти и исправить.
У вас почти нет свопов (256M), в качестве временной меры, я бы добавил больше свопов и уменьшил свопы (vm.swappiness), чтобы избежать бесполезного ожидания ввода/вывода. SWAP работает медленно, но он может уберечь вашу PIDS от сбоя. Кроме того, смажьте свои OOM'ы и проверьте временные метки, чтобы посмотреть, есть ли какая-нибудь регулярность со сбоями с течением времени. В свое время мне приходилось прокручивать некоторые плохо сделанные задания по работе с cron. Я бы удостоверился, что у вас есть по крайней мере 2 Гб подкачки, если у вас < 8 Гб оперативной памяти. Как я уже говорил, своп замедлит процесс, но это лучше, чем крах БД и потеря транзакций, а также необходимость проверять/восстанавливать таблицы при запуске.
Казалось бы, логическим завершением было бы увеличение объема памяти.
BTW, вы никогда не упоминали, утешаете ли вы свои сайты с нескольких разных машин на одну или что все сайты работают на старом сервере (сколько памяти). Эта информация была бы ОЧЕНЬ полезной, однако я все еще думаю, что вам просто нужно больше памяти
.