服务器 HTTP 加载时间慢?

服务器 HTTP 加载时间慢?

我的服务器@codemeh.com(HTTP 服务器)似乎随机加载缓慢,我不知道这是否只是我的论坛(http://www.codemeh.com/forums/) 加载缓慢,或者整个网站加载缓慢,因为我的论坛现在是网站上最大的内容。

load average: 0.02, 0.17, 0.20

就我所知,这太低级了。我尝试使用 FireFox 的 Google Page Analytic 插件来解决这个问题,但什么也没发生,这很糟糕。如果有人能帮我调查一下这个问题,因为我对 Apache 和服务器配置还很陌生。谢谢!

(顶部):

    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                      
 7493 www-data  15   0 98.2m  16m 9092 S    3  0.8   0:27.24 apache2                                      
26429 www-data  15   0 98.2m  15m 7392 S    3  0.7   0:03.45 apache2                                      
26477 www-data  17   0 98.2m  15m 7396 S    3  0.7   0:03.16 apache2                                      
    1 root      15   0  2468 1384 1156 S    0  0.1   0:00.49 init                                          1367 root      25   0  2564  816  660 S    0  0.0   0:00.00 xinetd                                       
 1526 root      15   0 29576 5420 1976 S    0  0.3   1:02.69 fail2ban-server                               3703 root      15   0 13512 9312 1696 S    0  0.4   0:11.59 miniserv.pl                                  
 3915 postfix   15   0  6056 1652 1320 S    0  0.1   0:00.00 pickup                                        4010 root      15   0  4548 1296  972 S    0  0.1   0:37.36 ntpd                                         
 7448 root      15   0 98528  26m  20m S    0  1.3   0:00.27 apache2                                       7454 www-data  18   0 33580 2616  368 S    0  0.1   0:00.04 apache2                                      
 7528 www-data  18   0  108m  24m  15m S    0  1.2   0:27.60 apache2                                       7974 root      16   0  8700 2728 2164 S    0  0.1   0:00.08 sshd                                         
 8123 cdog5000  15   0  8832 1596  896 S    0  0.1   0:00.00 sshd                                          8126 cdog5000  18   0  4484 1716 1384 S    0  0.1   0:00.00 bash                                         
 8141 cdog5000  15   0  2344  980  796 R    0  0.0   0:00.11 top                                          13461 root      15   0  8700 2728 2164 S    0  0.1   0:00.07 sshd                                         
13567 cdog5000  18   0  8832 1492  896 S    0  0.1   0:00.33 sshd                                         13569 cdog5000  18   0  4484 1728 1388 S    0  0.1   0:00.09 bash                                         
17983 root      15   0  4392 1268  988 S    0  0.1   0:00.00 su                                           17987 root      15   0  4516 1752 1380 S    0  0.1   0:00.09 bash                                         
18081 www-data  15   0 98.2m  14m 6588 S    0  0.7   0:04.91 apache2                                      20000 www-data  15   0 98.3m  15m 8040 S    0  0.8   0:02.45 apache2                                      
20019 www-data  15   0 98.2m  14m 6808 S    0  0.7   0:04.97 apache2                                      30343 root      15   0  3964 1012  764 S    0  0.0   0:00.03 vsftpd                                       
30382 root      15   0  2304  908  716 S    0  0.0   0:00.62 cron                                         30401 mysql     17   0  141m  17m 5416 S    0  0.9   1:02.20 mysqld                                       
30424 root      15   0  5472  912  504 S    0  0.0   0:00.04 sshd                                         30473 syslog    15   0  1916  676  536 S    0  0.0   0:01.02 syslogd                                      
30611 amavis    15   0 33872  25m 2292 S    0  1.2   0:03.11 amavisd-new                                  31890 amavis    18   0 34888  24m 1792 S    0  1.2   0:00.00 amavisd-new                                  
31891 amavis    18   0 34888  24m 1784 S    0  1.2   0:00.00 amavisd-new                                  32397 clamav    18   0  104m  84m 1272 S    0  4.1   1:06.46 clamd                                        
32563 clamav    15   0 12832 5716 4440 S    0  0.3   0:01.29 freshclam                                    32573 root      23   0  1892  456  372 S    0  0.0   0:00.00 courierlogger                                
32575 root      18   0  2096  684  544 S    0  0.0   0:00.01 authdaemond                                  32583 root      23   0  1892  360  284 S    0  0.0   0:00.00 courierlogger                                
32584 root      24   0  2000  612  516 S    0  0.0   0:00.00 couriertcpd                                  32598 root      23   0  1892  360  284 S    0  0.0   0:00.00 courierlogger                                
32599 root      25   0  2000  612  516 S    0  0.0   0:00.00 couriertcpd                                  32604 root      18   0  1892  460  372 S    0  0.0   0:00.00 courierlogger                                
32605 root      18   0  2000  624  532 S    0  0.0   0:00.00 couriertcpd                                  32607 root      18   0  2308  404  256 S    0  0.0   0:00.02 authdaemond                                  
32608 root      18   0  2096  260  116 S    0  0.0   0:00.03 authdaemond                                  32609 root      15   0  2308  404  256 S    0  0.0   0:00.03 authdaemond                                  
32610 root      18   0  2096  260  116 S    0  0.0   0:00.02 authdaemond                                  32612 root      18   0  2308  404  256 S    0  0.0   0:00.02 authdaemond                                  
32621 root      24   0  1892  364  284 S    0  0.0   0:00.00 courierlogger                                32622 root      25   0  2000  608  516 S    0  0.0   0:00.00 couriertcpd                                  
32633 root      15   0  105m  936  716 S    0  0.0   0:02.26 nscd                                         32719 root      16   0  6252 1680 1344 S    0  0.1   0:01.24 master                                       
32738 postfix   15   0  6188 1776 1400 S    0  0.1   0:00.44 qmgr                                         32758 postfix   15   0  6492 2564 1788 S    0  0.1   0:00.14 tlsmgr      

(/etc/apache2/sites-available/default):

NameVirtualHost *
<VirtualHost *>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/web1/web/
        <Directory /var/www/web1/web/>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

</VirtualHost>

我有 fail2ban 服务器,目前我没有任何防火墙。SMF 是 2.0 RC4,apache 版本是 2.2.14。我在同一个 DC 中的另一台机器上运行 MySQL 服务器(持久连接)。我今天安装了 eAccelerator,但没用。

答案1

有几件事。

1) 是的,一旦页面生成并发送到浏览器,其他链接将在一定程度上并行下载。如果我没记错的话,大多数浏览器一次只会向同一个域发出 2 个请求。这意味着如果您有来自同一域的 40 个图像、css、js 等,它们将一次下载 2 个,直到全部下载完毕。也许可以考虑将静态内容移动到子域。

2) 我注意到您的图片中至少有一张图片是 126KB(body_bg)。对于一个网站来说,这是一个巨大的数字。尝试更好地优化文件大小

3) 我在请求中注意到了这一点:“Keep-Alive timeout=15, max=98”。如果您有访问权限,请尝试减少 keep-alive。从http://www.howtoforge.com/configuring_apache_for_maximum_performance, “将其设置为较低的值,大概在两到五秒之间。如果设置得太高,子进程就会被占用以等待客户端,而它们本来可以用来服务新客户端。”

希望这可以帮助

答案2

您的网站在加载时间方面似乎还不错(通常为 3-4 秒,由于外部文件,有时需要 6-7 秒),但这里有一些建议:

  • 确保您正在运行 PHP 操作码缓存(例如:APC、eAccelerator)。这可以显著减少脚本执行时间。
  • 考虑对不经常更改的文件使用 mod_expires(例如:JavaScript、CSS、图像等)。这可以减少浏览器必须发出的请求数量。
  • 还可以研究 mod_deflate 以压缩基于文本的文件(PHP、JavaScript、CSS)。这可以减小文件大小,从而减少页面加载时间。请注意,它们会占用一些 CPU,因此请评估它们的性能和由此产生的服务器负载。
  • 您的页面加载时间、文件和总字节数的一半或更多来自外部网站(Google、Affinity)。如果不需要或可以优化这些,您的页面加载速度会快得多。
  • 萤火虫/慢速FireFox 的扩展对于调试这类事情非常有用。运行 YSlow 扩展以获取许多其他提高页面速度的建议(请注意,YSlow 提出的并非所有建议都适用于您)。

我认为只要完成所有/部分这些就可以使您的页面平均加载时间低于 1 秒,而无需查看任何缓存层,如 Squid/Varnish(如果需要,可以通过更多的工作进一步降低它)。

相关内容