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

Пример:

Если дедупликация включена, но коэффициенты дедупликации относительно низки, возможно, стоит отключить ее для восстановления некоторого запаса производительности / производительности.

Другие вопросы по тегам