我正在Debian 6.0上运行一个Apache 2.6.32-5-amd64的web服务器。
在一天中的某些时间,通常当有更多的人在线时,服务器的响应速度非常慢。 我相信,那不是负载,它不是DB,它不是PHP,按照这个命令:
time wget 127.0.0.1
很慢:
--2013-09-20 15:36:49-- http://127.0.0.1/ Connecting to 127.0.0.1:80... connected. HTTP request sent, awaiting response... 404 Not Found 2013-09-20 15:36:52 ERROR 404: Not Found. real 0m2.663s user 0m0.004s sys 0m0.004s
响应时间高达5秒。 等待的要点是在“HTTP请求发送,等待响应…”之后,在所有http请求的这个通用滞后很快(比如50ms)之后产生页面。
我使用http://tools.pingdom.com/fpt/testing了我的网站,第一个响应总是很慢,大部分内容加载速度也很慢,但很less有很快,但是我不能说,如果这个工具有某种caching。
telnet 127.0.0.1 80
速度快,响应显示没有延迟:
Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'.
哪里可以解决问题? 在请求发送到apache之前,它必须是一些东西。
请告诉我至less关于这个debugging工具。
我不认为2.6秒对于不是由全职工程师团队创build的普通网站来说非常慢(请参阅:google.com)。
你的问题可能是I / O,无论是networking或磁盘或内存等。
你将不得不跟踪应用程序堆栈。 这涉及到你的web服务器软件(apache httpd,ngnix等),php堆栈,php代码以及任何支持堆栈的文件系统和MySQL的后端存储机制。
这个延迟可能是由磁盘缓慢,无索引的mysql查询,networking瓶颈,甚至代码中优化的循环或function造成的。 除非您能提供有关您的环境的详细信息并提出具体问题,否则我认为我们不会在这方面提供很多帮助。