Centos 服务器最近速度明显变慢

Centos 服务器最近速度明显变慢

我在 1and1 上有专用服务器

RAM - 16 GB
HD 1000GB
CPU: Intel(R) Xeon(R) CPU E3-1270 v3 @ 3.50GHz, 4 cores
Centos 6
Apache/2.2.15
PHP 5.3.3
Mysql 

我有一个视频共享网站(在 joomla 上),里面有大约 5000 个媒体项目,其中 3500 个媒体项目在亚马逊上,其余的在服务器上(大约 489GB),最近网站速度明显变慢。页面开始加载需要 5 - 10 秒,后端大约需要 10 - 20 秒。2 - 3 天前,它运行得更好,虽然不完美,但好多了。

我需要确定问题所在,您能否建议一些跟踪性能的命令来帮助我找到问题所在?因为服务器确实出了问题。

----------'top' 结果--------------

top - 10:35:45 up 17:57,  1 user,  load average: 41.21, 46.46, 55.28
Tasks: 327 total,   7 running, 320 sleeping,   0 stopped,   0 zombie
Cpu(s): 62.6%us,  0.0%sy,  0.0%ni, 28.8%id,  8.6%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16294080k total, 15210716k used,  1083364k free,    55924k buffers
Swap:  4194288k total,    30268k used,  4164020k free, 11651236k cached


1457 apache    20   0 1167m 157m 4632 S 34.2  1.0  16:17.50 ffmpeg
614 root      20   0  265m  56m 4260 R 33.2  0.4  20:00.14 ffmpeg
1059 root      20   0  265m  55m 4260 R 33.2  0.3  16:52.33 ffmpeg
2733 apache    20   0  266m  55m 4256 R 33.2  0.4   5:25.97 ffmpeg
2786 apache    20   0  266m  56m 4264 R 33.2  0.4   4:50.05 ffmpeg
2854 root      20   0  147m  25m 3580 R 33.2  0.2   3:25.02 ffmpeg
29788 root      20   0  267m  56m 4268 R 33.2  0.4  34:31.32 ffmpeg
31612 root      20   0  266m  55m 4264 R 33.2  0.4  27:22.21 ffmpeg
32589 root      20   0  266m  57m 4264 R 33.2  0.4  24:25.37 ffmpeg
2625 apache    20   0  265m  54m 4256 R 32.9  0.3   6:18.87 ffmpeg
2895 apache    20   0  266m  57m 4260 R 32.9  0.4   2:22.71 ffmpeg
28797 root      20   0  267m  58m 4268 R 32.9  0.4  46:03.94 ffmpeg
32297 root      20   0  266m  57m 4264 R 32.9  0.4  25:24.76 ffmpeg
28343 root      20   0  268m  57m 4268 R 32.6  0.4  54:09.69 ffmpeg
1436 root      20   0  265m  55m 4260 R 32.2  0.4  15:02.93 ffmpeg
2138 root      20   0  265m  55m 4260 R 32.2  0.3  10:41.26 ffmpeg
30435 root      20   0  266m  56m 4264 R 32.2  0.4  30:41.72 ffmpeg
2647 apache    20   0  266m  57m 4272 R 31.9  0.4   6:15.76 ffmpeg
2978 root      20   0  144m  22m 3572 R 31.9  0.1   1:15.28 ffmpeg

[root@u17669867 ~]# iostat
Linux 2.6.32-431.20.5.el6.x86_64 (u17669867)    08/15/2014      _x86_64_        (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          78.37   15.62    0.38    2.05    0.00    3.58

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sdc               8.57       495.09      2368.59   33674022  161101560
sda               8.41        30.21       171.06    2054642   11634608
sdd               6.85       390.15      2366.70   26536668  160972704
sdb               4.84         2.84       135.32     193088    9203664
md3               4.35        20.51        27.92    1395238    1898808
md1               5.24         2.25        41.40     153236    2816112
md11            303.70       885.20      2368.26   60207426  161079040
dm-0            303.66       885.19      2368.26   60206658  161079048
dm-1              0.12         4.33         0.01     294802        720
dm-2              3.70        16.15        27.91    1098146    1898064
dm-3              0.00         0.02         0.00       1602         24

答案1

首先使用 Chrome/IE 开发人员工具(网络选项卡)跟踪耗时过长的原因。

确认所有请求(无论类型如何)都出现缓慢的情况,跟踪从最终用户到服务器的路径(traceroute)以查找任何过度延迟。从多个地方进行测试。

在服务器上,检查打开的连接数(netstat -antp | grep httpd),您可能会达到并发用户数的限制,并且连接/请求会排队等待插槽。

还要检查 CPU(topps aux)、内存(free -m)和磁盘使用情况(iostat)。

编辑:您的顶级结果显示 CPU 不足,而 iostat 结果也没有任何改善。考虑添加另一台服务器或将 CPU 密集型工作从 Web 服务器移开。

答案2

根据top,似乎有什么东西占用了大量 CPU。根据 更新您的帖子,并提供进程列表top。很可能是什么东西在服务器上拉取大量 I/O 并耗尽 RAM,因为您的大多数交换空间都已缓存(因此,最近使用过)。在健康的服务器上,负载不应该那么高。

相关内容