不久前,我在Linux框上编写了一些PHP和MySQL脚本(运行在LAMPP上)。请求大约2000个MySQL行的页面在大约0.001秒内执行并返回数据,并在后台运行更新此MySQL表的循环脚本(多线程),每个循环使用大约10秒。
我们刚刚升级了我们的盒子(都是新的PC),内存是原来的四倍,CPU的时钟速度也更快。此框安装了Windows 2008 (和XAMPP)。在Linux框上运行的脚本现在运行在Windows框上,但是:
到底是怎么回事?在Windows上运行PHP和MySQL是否存在已知的问题?如果不是的话,我怎么才能弄清楚为什么现在每个小命令都在100%的情况下将CPU泵出几秒钟,而他们在较小规格的Linux盒上只花了0.001秒就完成了,而没有打扰到CPU?
主要是我想知道,我们是该怪Windows还是新的盒子?(如果我们在新机器上安装了Linux,结果会是什么?)
发布于 2011-06-09 06:43:20
事实证明,这只是运行Windows的更大开销,加上每个PHP进程打开的所有CMD。在机顶盒上安装Debian使一切恢复正常。
发布于 2012-08-22 18:37:01
当您启用IPv6时,这是一个问题。在服务器名上使用localhost (非常常见)会导致连接需要太长时间才能建立起来。将其更改为127.0.0.1。
因为你有一个循环,如果你关闭并重新建立连接,它将使减速倍增,而快速连接将产生巨大的不同。
发布于 2011-05-19 21:24:46
您可以在windows上安装see并查看问题是否是mysql (我不知道有什么问题,但也许您的版本已经过时了?)Windows本身并不是问题所在。PHP在IIS下运行不会出现问题(有关详细信息,请参阅在IIS上运行上运行应用程序页面。如果直接mysql查询的运行速度与sql服务器一样快(与mysql相当接近),那么接下来要检查的是apache。我遇到的唯一真正的问题是,它被配置为apache的*nix副本,这肯定会降低性能。
https://serverfault.com/questions/271543
复制相似问题