3

我在我的 windows vista 机器上运行 wampserver。我已经这样做了很长时间,而且效果很好。我已经用这个设置完成了很多项目。

然而,今天,没有我改变任何东西(没有配置等)只有 PHP 代码改变,我发现每次我加载我网站的页面(那些有用户会话或访问数据库的页面)时加载速度真的很慢 - 超过 30 秒,他们使用 1 或 2 秒。

当我查看任务管理器时,我可以在页面加载时看到 httpd 进程从 10mb 跳到 30mb、90mb、120mb、250mb,然后又回落。

我已经测试过以前的 php 代码项目,它们似乎也都很慢!

到底是怎么回事?

感谢大家对这个混乱问题的任何帮助!

4

5 回答 5

1

检查以下内容:

  • 检查您用于访问数据库的数据访问库最近是否已更改/更新(如果您使用的话)。
  • 只是猜测,但是自从上次检查以前的项目以来,您是否更改了防病毒/防火墙(或设置)?更具侵略性的安全性可以大大减慢速度。
  • 您是否更改了 WAMPSERVER 菜单中的 Apache/PHP/MySQL 版本?
  • 也许您可以尝试重新安装 WAMPSERVER(最后再安装,如果这对您来说不麻烦,因为我真的怀疑这会有所帮助,但在某些非常奇怪的情况下它可以)。

但是根据您在问题中解释的经验和内存使用情况,您的 SQL 查询似乎需要很长时间才能执行和/或返回一个非常大的数据集。

尝试优化您的查询,它可以帮助提高速度,但不是真正的内存使用(至少在结果集相同的情况下)。对于内存,也许您可​​以使用LIMIT来减少返回的数据集(如果您的设计允许 - 但它应该)。

由于我们并不真正知道您如何处理您的数据,因此请注意,使用大型数据集“播放”(如解析大型 XML 文档)可能会花费大量时间/内存(同样,这在很大程度上取决于您如何处理所有这些数据)。

最重要的是,如果这篇文章中没有任何帮助,请尝试发布有关您的设置的更多信息,以及当它运行缓慢时您究竟做了什么(甚至是代码示例)。

于 2010-05-07T15:58:54.153 回答
1

尝试检查 wamp 日志文件的大小。

IE

C:\wamp\logs

有时,当它们变得非常大时,它们会导致 Apache 变慢。

于 2010-05-10T18:56:30.843 回答
1

您最近是否更改了网络配置或升级了系统?这可能是通过您的网络配置或防病毒/安全软件引起的。例如,人们过去曾遇到过导致此问题的区域警报问题。

此外,如果您最近从键入“127.0.0.1”切换到“localhost”或在网络中移动,您可能会受益于从 C:\Windows\System32\drivers\etc\hosts 中删除 IPV6 localhost 设置(如果有的话) :

换行

::1             localhost

# ::1             localhost
于 2010-05-10T19:37:51.393 回答
1

我很惊讶没有人提出这个建议。你应该总是试着看看为什么事情真的变慢了:

首先使用性能监视器查看瓶颈在哪里。(perfmon.exe) 硬页错误实际上是瓶颈吗?您的硬盘驱动器是否忙于读取/写入页面文件?检查硬盘IO队列的长度。CPU 忙吗?

如果没有任何东西看起来很忙,请使用procmon查看您的 php 进程是否在某些系统调用上被阻止。

希望这可以帮助。

于 2010-05-10T20:31:39.793 回答
1

尽管与查找数据库瓶颈无关,XDebug与 cachegrind 查看器(例如WebGrindWinCacheGrind)相结合可以帮助您找到 PHP 代码中执行时间最长的部分。

于 2010-05-11T09:52:17.840 回答