AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 106800
Accepted
PJ.
PJ.
Asked: 2010-01-28 06:29:29 +0800 CST2010-01-28 06:29:29 +0800 CST 2010-01-28 06:29:29 +0800 CST

在提供文档、css、图像之前,Apache Web 服务器响应缓慢

  • 772

我有一个运行 WordPress(PHP 和 MySQL)的网站。网站对请求的响应速度非常慢。

当我查看 Safari 中的网络检查器时,问题似乎不在于文件大小。

http://img.skitch.com/20100127-1yjnf586wdr3tx4akk8fj5qwhx.png

提供内容前需要 5 秒钟。我可以采取哪些措施?我是服务器管理的新手,这只是一个共享服务器。我没有完全控制权,但可能值得尝试优化。

我尝试traceroute了ping命令,但命令没有问题。

php apache-2.2
  • 4 4 个回答
  • 3739 Views

4 个回答

  • Voted
  1. Satanicpuppy
    2010-01-28T06:38:48+08:002010-01-28T06:38:48+08:00

    这可能与文件的大小无关。如果您正在运行 wordpress,您的积压工作将成为数据库和处理器。用于恢复有关页面外观、内容等的所有信息的数据库。以及用于将所有这些内容编译成实际文档并将其发送出去的处理器。

    可能想看看调整 Apache 的缓存设置。如果某些页面经常被请求,那么一遍又一遍地构建它们是没有意义的。

    • 3
  2. Best Answer
    Dave Drager
    2010-01-28T06:43:44+08:002010-01-28T06:43:44+08:00

    您确实需要具有管理员权限才能在服务器上进行任何类型的实际故障排除。

    但是,如果您想确定是您的代码还是服务器的错误(呵呵),您可以采取一些步骤。其中之一是在您的 php 代码中添加一个计时器,以查看在服务器上执行需要多长时间。从这里:

    <!-- put this at the top of the page --> 
    
    <?php 
      $mtime = microtime(); 
      $mtime = explode(' ', $mtime); 
      $mtime = $mtime[1] + $mtime[0]; 
      $starttime = $mtime; 
    ?> 
    
    <!-- put other code and html in here --> 
    
    <!-- put this code at the bottom of the page --> 
    <?php 
      $mtime = microtime(); 
      $mtime = explode(" ", $mtime); 
      $mtime = $mtime[1] + $mtime[0]; 
      $endtime = $mtime; 
      $totaltime = ($endtime - $starttime); 
      echo 'This page was created in ' .$totaltime. ' seconds.'; 
    ?>
    

    使用它,您可以查看服务器是否真的很慢,或者它是否在连接端。

    如果服务器速度很慢,则需要采取许多步骤,但您需要管理员权限才能更进一步,特别是因为您使用的是全球数十万台服务器上的 wordpress,并且经过相当优化。

    要尝试的另一件事是禁用插件并一一启用它们,以查看是否有任何导致您的缓慢。

    • 3
  3. Shane
    2010-01-29T11:23:13+08:002010-01-29T11:23:13+08:00

    尝试使用 Firefox 并为其安装一个名为 Firebug ( http://getfirebug.com/ ) 的插件。设置完成后,启用“网络”面板并重新加载您的页面。这将向您显示服务器响应的每个部分所花费的时间,包括初始连接速度、下载时间、服务器响应延迟等。您还可以使用此面板查看您是否正在缓存 JavaScript、图像等项目, 和 CSS。

    由于您使用的是共享主机,因此您对服务器设置的控制将非常少,但您可以通过密切关注您要求该服务器执行的操作以其他方式加快速度。

    GL!并且习惯使用 Firebug,它是救命稻草。

    最后一件事,确保您使用的是最新版本的 wordpress,并且不要使用太多插件。每一点开销都会减慢您的负载。

    • 1
  4. Shadok
    2011-10-04T02:31:54+08:002011-10-04T02:31:54+08:00

    众所周知,Wordpress 与许多 CMS 一样非常重,我并不惊讶共享服务器会给您这样的延迟来提供第一个字节。

    要做的第一件事是确保您有一个可用的操作码缓存(php-apc 是“标准”缓存),没有一个 Wordpress 将在每次新用户请求时生成主页。如果服务器上安装了 apc 并且你有办法配置它,你可以先试试这个配置:

    apc.enabled=1
    apc.shm_size=64
    apc.max_file_size=3M
    apc.ttl=7200
    apc.user_ttl=7200
    apc.stat_ctime=1
    

    然后查看包中包含的 apc.php 脚本给出的统计信息,它将帮助您更充分地设置这些值。

    我要做的第二件事是使用这样的 Wordpress 缓存插件:http ://wordpress.org/extend/plugins/w3-total-cache/

    它将在第一次请求时呈现内容,然后在每次可能时提供静态内容。

    • 1

相关问题

  • 如何强制我的网址始终以 www 开头?

  • 在 Linux Xen VPS 上优化 Apache 和 MySQL

  • mod_rewrite 不转发 GET 参数

  • 更改 PHP 的默认配置设置?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve