您好,登录后才能下订单哦!
这篇文章给大家分享的是有关如何提高PHP程序速度的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
最近发布了 Laravel Octane 包(https://github.com/laravel/octane)。 它的创建使 Laravel 对 Swoole 和 RoadRunner 更加友好。 我们在 dev.family 中使用 RoadRunner 而不是 php-fpm 已经有一段时间了, 我们决定分享我们的经验并揭示它具有什么优势。
RoadRunner 是一个用 Go 编写的高性能、开源的 PHP 应用服务器。 与 php-fpm 的主要区别在于 RoadRunner 与 php 的常驻进程交互, 不像 php-fpm, 会在每次请求时创建并杀掉一个新的 php 进程。
常驻进程的优点:
没有时间浪费在启动上
没有时间花费在创建数据库的连接上
在进程中直接使用内存缓存的能力
这种方法的缺点是,它并不适合所有 PHP 应用程序,因为通常在编写代码时,会考虑到 PHP 进程在请求之后会终止。因此,您需要能够监视内存泄漏,仔细处理全局状态。因此,遗留项目可能不能在Roadrunner 上启动。
然而,Roadrunner 还有其他有用的功能,比如静态反馈、响应压缩和平衡。典型捆绑包的功能都落在了 nginx 上。如果你使用的是 PHP Roadrunner,则可以在没有它的情况下启动该应用程序(nginx)。
RoadRunner 也很容易扩展。您可以将其组件用于您自己的应用程序服务器并获得机会,例如,您可以使用 websockets 直接在 Go 上处理一些请求。
RoadRunner 本身不是一个新的开发项目,它已经有几年的历史了。但是,有了 Laravel Octane 的官方支持,您可以确定该框架已经准备好使用它。
我们在一个真实的项目上做了一个小测试,比较了 php-fpm 和 roadrunner 的速度。 结果如下:
php-fpm:
plain text: 1150 RPS
single query: 530 RPS
roadrunner:
plain text: 2200 RPS
single query: 1600 RPS
plain text -- 返回常量 JSON 的查询
single query -- 将单个查询的结果以 JSON 格式返回到数据库的查询
速度有显提高,这是由于缺乏启动时间和使用了与数据库的永久连接。
感谢各位的阅读!关于“如何提高PHP程序速度”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。