0

我有 2 台服务器,一台测试一台生产。

  1. 测试 - Win7 上的 WAMP(英特尔 i7 4GB 内存)
  2. 生产 - Windows Server 2008 上的 IIS + FastCGI + MYSQL(Intel Xeon 2.4GHZ 12GB Ram)

我们在两者上都有一个 innodb 数据库设置,并且在部署 PHP 源文件之后,从数据库中查询/显示数据的特定函数组似乎在生产服务器上花费了 100% 的时间。

在我的测试环境中,我看到大约 3 秒后返回结果。在生产环境中,完全相同的查询需要大约 10 秒,具有完全相同的源文件和相同的 dbase 镜像。

如果有的话,我预计时间会被逆转,即生产速度比 wamp 快 100%。我检查了两侧的 my.ini 文件,虽然它们显然不一样,但其中没有什么明显的错误会导致这种情况。我在生产环境中测试了几个不同的 my.ini 配置,这对减少处理时间没有任何影响。

用于此测试的查询是一个复杂的多重循环,它询问数据库(发送一个查询,然后循环遍历结果并对每一行的 mysql 服务器进行进一步查询)所有结果都使用多维数组保存和修改在内存中。

我只计时实际脚本执行(mysql + php 数据检索和处理),而不是将此数据发送到浏览器所需的时间:)

我接下来应该看哪里?

4

1 回答 1

0

只是为了关闭它,这是由于 php 环境中的本地化不正确 - 在 php 页面顶部设置我的语言环境可以解决问题。(尽管它在 php.ini 中正确设置,但 IIS 在执行基于日期的函数时会变慢)love microsoft

于 2013-01-07T22:59:56.500 回答