【问题标题】:Mysql innodb database on wamp vs productionwamp 与生产上的 Mysql innodb 数据库
【发布时间】:2012-11-15 17:26:18
【问题描述】:

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

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

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

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

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

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

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

接下来我应该看哪里?

【问题讨论】:

  • 尝试并解释查询。然后您可以查看正在检查多少数据行,服务器决定在每个服务器上使用哪些键,并首先比较 EXPLAIN 查询的两个输出
  • 对于您的描述,听起来您应该使用连接。 90% 的情况下,如果您使用一个查询来获取数据集,然后遍历它以查询您做错的附加信息 :-)
  • 我认为“解释”没有任何用处——测试和生产都拥有完全相同的数据库、相同的结构、相同的数据、相同的一切。唯一的区别是 wamp 是 MYSQL 5.5.20 而生产是 MYSQL 5.5.14。我知道使用连接会使一切运行得更快,但这不是问题,但是我想知道为什么我的 wamp 服务器比生产服务器快。对我来说,它在生产中配置错误,或者可能是因为它全部在 Windows 上运行?根据过去的经验,我在 wamp 上运行的任何东西通常比在生产服务器上慢 50%

标签: php mysql wamp production-environment


【解决方案1】:

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

【讨论】:

  • 感谢您的关注!我相信总有一天会有人从中受益:)
猜你喜欢
  • 1970-01-01
  • 2010-09-12
  • 1970-01-01
  • 1970-01-01
  • 2014-01-12
  • 1970-01-01
  • 1970-01-01
  • 2016-09-19
  • 1970-01-01
相关资源
最近更新 更多