windows php 性能,PHP5性能对比,Windows和Linux

文章揭示了在Windows环境下,PHP的file_exists和filemtime函数性能远低于Linux,尤其是在开发环境中,这两个函数占用时间高达60%。作者通过Webgrind对比分析,展示了如何优化和可能存在的已知问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

编辑:我刚看到这个答案: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%.这是一个已知的问题吗?

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值