加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP5性能对比,Windows和Linux

发布时间:2020-12-13 13:41:56 所属栏目:PHP教程 来源:网络整理
导读:我有一个关于Symfony2性能的问题. 我已经在Ubuntu 11.04下使用Symfony2进行了几周的开发,Apache 2.2.17,PHP 5.3.5,APC 3.1.9,没有xDebug 在开发环境中,Symfony2工具栏上给出的时间从未超过70毫秒. 今天,我尝试在Windows 7环境中安装我的应用程序:Wampserver
我有一个关于Symfony2性能的问题.

我已经在Ubuntu 11.04下使用Symfony2进行了几周的开发,Apache 2.2.17,PHP 5.3.5,APC 3.1.9,没有xDebug

在开发环境中,Symfony2工具栏上给出的时间从未超过70毫秒.

今天,我尝试在Windows 7环境中安装我的应用程序:Wampserver 2.2,PHP 5.3.8,Apache 2.2.21,APC 3.1.7,no xDebug

Windows环境中的计算机比ubuntu(SSD,Quad core等)上的计算机要好得多.

当我在开发环境中运行应用程序时,工具栏始终指示至少300毫秒.

所以,你知道它是如何可能的吗?

谢谢 !

编辑:找到关于主题的链接:http://fossplanet.com/f6/%5Bsymfony-users%5D-symfony2-slow-windows-xp-116465/

我也注意到了file_exists函数的问题(使用webgrind).

那么,有什么想法吗?

也许这个问题已经讨论过,但我很惊讶没有发现任何相关内容.

TL; DR;将realpath_cache_size设置为值> 1000

编辑2:在此PR中解决了问题:尝试将PHP.ini的realpath_cache_size设置为值> 1000
最近添加了symfony要求修复此问题:https://github.com/sensiolabs/SensioDistributionBundle/commit/cf0179711b24d84d4a29d71a4010540f4c990bd8

编辑:我刚看到这个答案:https://stackoverflow.com/a/17914570/980547
当我在php.ini(!)中设置realpath_cache_size = 4096k时,它在Windows上减少了4页的页面生成时间

老答案:

所以,我用webgrind做了两个比较:

在Windows(快速计算机)上,名为app_dev.php:

因此,您可以看到Web工具栏显示764ms时间生成(由于xDebug和分析而增加,但仍然相关).
Webgrind显示:

> 651调用file_exists()的时间为232ms(这很多!)
> 603次调用filemtime()(211ms)
> 230次调用UniversalClassLoader-> loadClass()(119ms)
> 230次调用UniversalClassLoader-> findFile()(38ms)

在linux(慢速计算机)上,app_dev.php:

总生成时间为298ms(比Windows上少两倍).

> 237次调用UniversalClassLoader-> findFile()(36ms =>少4次)
> 237次调用UniversalClassLoader-> loadClass()(20ms =>少2次)
> 623调用file_exists()(仅4ms !!!)
> 605调用filemtime()(仅4ms !!!)

问题似乎是file_exists()和filemtime(),它们在Windows上比在Linux上慢得多.在Windows上,PHP正在寻找具有file_exists,filemtime,loadClass或findFile的文件,这些文件占60%.这是一个已知的问题吗?

编辑:所以问题仅适用于开发环境,在生产中没有文件存在完成,因为所有内容都被缓存.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读