我有一个运行WordPress的网站(PHP和MySQL)。 一个网站对请求的响应很慢。
当我在Safari浏览器中查看networking检查员时,问题似乎不是文件大小。
http://img.skitch.com/20100127-1yjnf586wdr3tx4akk8fj5qwhx.png
服务内容需要5秒钟。 我可以采取哪些措施? 我是服务器pipe理新手,这只是一个共享服务器。 我没有完全的控制权,但可能值得尝试优化。
我尝试了traceroute和ping命令,但是这些命令没有问题。
您确实需要具有pipe理员权限才能在服务器上执行任何types的实际疑难解答。
但是,如果你想弄清楚它是你的代码还是服务器的错误( heh ),你可以采取几个步骤。 其中之一是添加一个计时器到您的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.'; ?>
使用这个,你可以看到服务器是否真的很慢,或者是否在连接端。
如果服务器速度较慢,则需要采取一些步骤,但是您需要pipe理员权限才能继续进行下去,特别是因为您使用的是全球数十万台服务器上的wordpress,并且相当优化。
还有一件事是尝试禁用插件,并逐一启用,看看是否有任何造成您的缓慢。
这可能与文件的大小无关。 如果你正在运行wordpress,你的积压将是数据库和处理器。 用于恢复关于页面应该看起来像什么的所有信息的数据库,以及用于将所有东西编译成实际文档并将其发送出去的处理器。
可能想看看调整Apache的caching设置。 如果经常请求某些页面,那么一遍又一遍地构build它们是没有意义的。
尝试使用Firefox并为其安装名为Firebug的插件( http://getfirebug.com/ )。 一旦你设置启用“净”面板,并重新加载您的网页。 这将显示服务器响应的每个部分所花费的时间,包括初始连接速度,下载时间,服务器响应滞后等。您还可以使用此面板查看是否正在caching项目,如JavaScript,图像和CSS。
既然你在共享主机上,你将很less控制你的服务器设置,但是你可以通过密切关注你要求服务器做什么来加快速度。
GL! 并习惯使用Firebug,这是一个救星。
最后一件事,确保你使用的是最新版本的wordpress,并且不要使用太多的插件。 开销的每一点都会减慢你的负载。
WordPress,因为有很多CMS在那里,已知是相当沉重的,我不惊讶共享服务器给你这样的延迟服务的第一个字节。
首先要做的是确保你有一个可用的操作码caching(php-apc是“标准”caching),没有一个Wordpress会在每次新用户请求时生成主页。 如果在服务器上安装了apc,并且如果您有办法对其进行configuration,则可以先尝试此configuration:
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脚本给出的统计信息,它将帮助您更充分地设置这些值 。
我要做的第二件事就是使用像这样的Wordpresscaching插件: http : //wordpress.org/extend/plugins/w3-total-cache/
它会根据第一个请求呈现内容,然后在每次可能时提供静态内容。