我在Windows Vista机器上运行wampserver。我已经做了很长时间了,而且一直很好。我通过此设置完成了大量项目。
然而,今天,如果没有我改变任何东西(没有配置等)只改变PHP代码,我发现每次加载我的网站页面(那些有用户会话或访问数据库)的加载都很慢 - 超过30秒,他们使用1或2秒。
当我查看任务管理器时,我可以在页面加载中看到httpd进程从10mb跳到30mb,90mb,120mb,250mb,然后再次返回。
我已经测试过以前的PHP代码项目,它们似乎也很慢!
发生了什么事?
感谢所有人在这个混乱问题上提供任何帮助!
答案 0 :(得分:1)
检查以下内容:
但是根据您在问题中解释的经验和内存使用情况,似乎您的SQL查询很难执行和/或返回非常大的数据集。
尝试优化您的查询,它可以帮助提高速度但不是真正的内存使用(至少如果结果集是相同的)。对于内存,也许您可以使用LIMIT来减少返回的数据集(如果您的设计允许它 - 但它应该)。
由于我们真的不知道你对你的数据做了什么,所以注意比用大数据集“播放”(比如解析大型XML文档)需要花费很多时间/内存(这又取决于你做什么)所有这些数据)。
最重要的是,如果这篇文章中没有任何内容有帮助,请尝试在设置时发布更多信息以及在缓慢的情况下你做了什么(甚至是代码示例)。
答案 1 :(得分:1)
尝试检查wamp日志文件的大小。
即
C:\wamp\logs
有时,当它们变得非常大时,它们会导致Apache变慢。
答案 2 :(得分:1)
您最近是否更改了网络配置或升级了系统?这可能是通过您的网络配置或防病毒/安全软件导致此问题。例如,人们在过去曾遇到过像zonealarm这样的问题。
此外,如果您最近从键入“127.0.0.1”切换到“localhost”或在网络中移动,您可能会从C:\ Windows \ System32 \ drivers \ etc \ hosts中删除IPV6 localhost设置中受益。你有一个:
用
更改行::1 localhost
到
# ::1 localhost
答案 3 :(得分:1)
我很惊讶没有人提出这个建议。你应该总是试着看看为什么事情真的变慢了:
首先使用性能监视器查看瓶颈所在。 (PERFMON.EXE) 硬页面错误实际上是的瓶颈吗?您的硬盘是否忙于读/写页面文件?检查硬盘的IO队列长度。 CPU忙吗?
如果没有任何东西看起来很忙,请使用procmon查看您的php进程是否在某些系统调用中被阻止。
希望这有帮助。
答案 4 :(得分:1)
虽然与查找数据库瓶颈无关,但XDebug与cachegrind查看器(例如WebGrind,WinCacheGrind)相结合可以帮助您找到PHP代码的一部分,这需要花费最长时间执行。