PHP的Phar包性能强大,能否改写为长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计581个文字,预计阅读时间需要3分钟。
之前在群里看到有人讨论,有些Swoole框架启动速度慢,尤其是挂载在负载的云服务器下运行,启动速度更慢。我想,因为Swoole可以让PHP应用实现常驻内存,所以启动时必须扫描和加载许多文件。
我想,由于 Swoole 可以让 PHP 应用实现常驻内存,所以启动时候势必要扫描和加载许多文件,这应该是导致启动速度慢的罪魁祸首。
想到 php 还有 phar 包这个东西,我试图用 phar 来解决这个问题。功夫不负有心人,我终于为 imi框架 实现了 phar 打包的兼容和支持,测试结果表明:
使用 Phar 进行文件枚举、读取、include,无论是在本地硬盘还是 Samba 等网络文件共享挂载,性能都比零散的文件性能更强。
phar 作用强大,可以直接用一个包来部署项目,但在传统 php 应用开发里 phar 其实并不受欢迎,因为没有多少好处。而在Swoole环境下,越来越多的框架支持常驻内存,可以在启动时加载完想要用的文件。
phar 从 php 5.3.0 开始就已经内置支持,所以兼容性不需要担心,也不需要安装额外的扩展。
我特意为此写了一个测试 Phar 文件枚举、读取、include 性能的 Demo:
gitee.com/yurunsoft/PharTest
有兴趣的朋友可以拉下来,自己跑一下试试。
本文共计581个文字,预计阅读时间需要3分钟。
之前在群里看到有人讨论,有些Swoole框架启动速度慢,尤其是挂载在负载的云服务器下运行,启动速度更慢。我想,因为Swoole可以让PHP应用实现常驻内存,所以启动时必须扫描和加载许多文件。
我想,由于 Swoole 可以让 PHP 应用实现常驻内存,所以启动时候势必要扫描和加载许多文件,这应该是导致启动速度慢的罪魁祸首。
想到 php 还有 phar 包这个东西,我试图用 phar 来解决这个问题。功夫不负有心人,我终于为 imi框架 实现了 phar 打包的兼容和支持,测试结果表明:
使用 Phar 进行文件枚举、读取、include,无论是在本地硬盘还是 Samba 等网络文件共享挂载,性能都比零散的文件性能更强。
phar 作用强大,可以直接用一个包来部署项目,但在传统 php 应用开发里 phar 其实并不受欢迎,因为没有多少好处。而在Swoole环境下,越来越多的框架支持常驻内存,可以在启动时加载完想要用的文件。
phar 从 php 5.3.0 开始就已经内置支持,所以兼容性不需要担心,也不需要安装额外的扩展。
我特意为此写了一个测试 Phar 文件枚举、读取、include 性能的 Demo:
gitee.com/yurunsoft/PharTest
有兴趣的朋友可以拉下来,自己跑一下试试。

