Назад | Перейти на главную страницу

Доступ к файловой системе вызывает периодические замедления на Lenny vps с минимальной нагрузкой

У меня есть виртуальный сервер, на котором размещено несколько небольших сайтов в среде LAMP. Первоначально система была Debian 4, позже dist-обновлена ​​до 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 с ошибкой> 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? Я проверю счетчики bean-счетчиков в следующий раз, когда система замедлится, и посмотрю, дает ли это какие-нибудь подсказки.

"vzfs" также может быть "намеком" здесь на использование zfs, которое может быть очень интенсивным в зависимости от того, какие из его функций используются - например, сжатие, дедупликация и т. д. Вы можете подумать о том, чтобы провести инвентаризацию того, что используется, и насколько это может быть эффективным для вашего конкретного использования.

Пример:

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

Ваш хост VPS перегружен. Вы не очень много делаете, но другие люди на хосте делают это, и это замедляет работу всех. Добро пожаловать в увлекательный мир VPS (и, что еще хуже, Parallels VPS, где прибыль достигается за счет бесконечного добавления клиентов). Я бы порекомендовал найти достойного провайдера VPS, а не самого дешевого.