Доступ к файловой системе иногда приводит к замедлению работы 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, которая может быть очень интенсивной в зависимости от того, какие ее функции используются - например, сжатие, дедупликация и т. д. Вы можете рассмотреть вопрос об инвентаризации того, что используется и насколько это эффективно для вашего конкретного использования.
Пример:
Если дедупликация включена, но коэффициенты дедупликации относительно низки, возможно, стоит отключить ее для восстановления некоторого запаса производительности / производительности.