Как исправить / решить очень высокую нагрузку на сервер на Cents OS 6 VPS

Мой VPS постоянно находится в режиме высокой нагрузки в течение последних 2 дней, не могу понять, в чем проблема. здесь больше информации о VPS. VPS работает как HTTP(Apache), Mysql, Proftp Server, мало трафика, ежедневно около 300- 500 посещений.

uname -a

Linux cforum 2.6.32-431.29.2.el6.x86_64 #1 SMP Tue Sep 9 21:36:05 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Провел

 07:07:15 up 5 days,  4:05,  1 user,  load average: 31.88, 44.97, 58.48

top -b -n 1

top - 07:08:00 up 5 days,  4:06,  1 user,  load average: 34.33, 43.79, 57.44
Tasks: 324 total,   1 running, 323 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.4%us,  3.1%sy,  0.0%ni, 58.5%id, 35.8%wa,  0.0%hi,  0.0%si,  0.1%st
Mem:   1016280k total,  1006536k used,     9744k free,      536k buffers
Swap:  2097148k total,  1539640k used,   557508k free,   409436k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5591 root      20   0 15156 1372  884 R  0.8  0.1   0:00.01 top
    1 root      20   0 19232  160   20 S  0.0  0.0   0:00.44 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
    4 root      20   0     0    0    0 S  0.0  0.0   0:02.53 ksoftirqd/0
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
    6 root      RT   0     0    0    0 S  0.0  0.0   0:57.89 watchdog/0
    7 root      20   0     0    0    0 S  0.0  0.0   0:33.08 events/0
    8 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cgroup
    9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khelper
   10 root      20   0     0    0    0 S  0.0  0.0   0:00.00 netns
   11 root      20   0     0    0    0 S  0.0  0.0   0:00.00 async/mgr
   12 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pm
   13 root      20   0     0    0    0 S  0.0  0.0   0:00.00 xenwatch
   14 root      20   0     0    0    0 S  0.0  0.0   0:00.00 xenbus
   15 root      20   0     0    0    0 S  0.0  0.0   0:02.15 sync_supers
   16 root      20   0     0    0    0 S  0.0  0.0   0:02.32 bdi-default
   17 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kintegrityd/0

полный верхний вывод здесь

IOSTAT

Linux 2.6.32-431.29.2.el6.x86_64 (cforum)         10/02/2014      _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.44    0.00    3.10   35.90    0.08   58.48

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
xvda            104.86      1182.53      4376.56  526606250 1948973680
xvdd              0.00         0.00         0.00        456          0

бесплатно -m

             total       used       free     shared    buffers     cached
Mem:           992        984          8          0          1        173
-/+ buffers/cache:        809        183
Swap:         2047       1431        616

дф-ч

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       30G  7.1G   21G  26% /
tmpfs           497M     0  497M   0% /dev/shm

vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0 99 1467144   8076   2096 157136   32   32   594  2187   85   14  2  3 58 36  0

Как я могу найти, где проблема?

2 ответа

Что сразу бросается в глаза, так это то, что ваша система довольно сильно меняется - и это очень легко объяснить высокими нагрузками - особенно потому, что дешевые VPS (и мне кажется, что они, вероятно, основаны на спецификациях памяти) - очень часто оказываются узкими местами при IO,

Первое, что я хотел бы сделать [только с предоставленной вами информацией], - это бросить больше баранов в проблему. Если это не вариант, вы можете поиграть с VM.SWAPPINESS, чтобы сделать проблему "менее плохой" - но поскольку ваш SWAP больше, чем доступная память, я сомневаюсь, что вы многое из этого получите.

Может быть, вы можете настроить MySQL, чтобы использовать [гораздо] меньше памяти - я гуглил это для вас.

Это довольно типично для VPS.

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

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