Доступ к файловой системе иногда приводит к замедлению работы Lenny vps при минимальной загрузке
У меня есть виртуальный сервер, на котором размещено несколько небольших сайтов в среде LAMP. Первоначально система представляла собой Debian 4, а позднее была обновлена до Debian 5. Она имеет 1 ГБ выделенной и 1 ГБ общей оперативной памяти и 20 ГБ дискового пространства.
Недавно система начала отображать некоторые тревожные тенденции случайного замедления при записи файлов в файловую систему (/dev/vzfs). Когда происходят эти всплески медленности, нагрузки начинают расти, но процессор остается в основном бездействующим - даже процент ожидания ввода-вывода остается в основном на нуле. Вот краткий обзор самого недавнего времени, когда я столкнулся с проблемой, при сохранении файла конфигурации Apache 1 КБ, который занял около 20 секунд:
top - 18:05:38 up 274 days, 11:50, 4 users, load average: 0.71, 0.25, 0.08
Tasks: 54 total, 1 running, 53 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2097152k total, 471044k used, 1626108k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached
Я в основном программист и не имею большого опыта системного администрирования, поэтому я не уверен, с чего начать. Любые указатели очень ценятся.
Обновление: стандартные системные журналы не содержали никакой полезной информации относительно этого случая, поэтому я связался с поставщиком услуг, чтобы спросить, не перегружена ли хост-система. Они ответили, что загрузка системы нормальная, но мой контейнер иногда превышает его распределение ресурсов. Вот строки из /proc/user_beancounters которые имеют failcnt > 0:
uid resource held maxheld barrier limit failcnt
shmpages 9744 19470 19567 19567 1
tcpsndbuf 306232 2453448 2449232 3598712 42347113
tcprcvbuf 299568 2459056 2449232 3598712 1640
othersockbuf 101640 843592 844366 1481926 140
numfile 3100 6000 6000 6000 11
Тот, который я превышаю больше всего, tcpsndbuf с явным отрывом. Тем не менее, я предполагаю, что это не должно влиять на производительность файловой системы. numfile было превышено в 11 раз (это число за все время или с момента последней перезагрузки?) и звучит как нечто, что может быть причиной проблемы. Половина открытых файлов, кажется, принадлежит apache2, который имеет каждый файл журнала и.so открыт для всех своих процессов. Может быть, переход на Lighttpd или Nginx может помочь? Я проверю beancounters в следующий раз, когда система замедлится, и посмотрю, дает ли это какие-либо подсказки.
2 ответа
Ваш VPS-хост перегружен. Вы не очень много делаете, но другие люди на хосте, и это замедляет работу для всех. Добро пожаловать в увлекательный мир VPS (и, что еще хуже, Parallels VPS, где прибыль получается за счет бесконечного добавления клиентов). Я бы порекомендовал найти достойного поставщика VPS, а не самый дешевый.
"vzfs" также может быть здесь "подсказкой" к использованию zfs, которая может быть очень интенсивной в зависимости от того, какие ее функции используются - например, сжатие, дедупликация и т. д. Вы можете рассмотреть вопрос об инвентаризации того, что используется и насколько это эффективно для вашего конкретного использования.
Пример:
Если дедупликация включена, но коэффициенты дедупликации относительно низки, возможно, стоит отключить ее для восстановления некоторого запаса производительности / производительности.