PHP高性能应用服务器roadrunner

开发 后端
虽然php一直在努力提升自己的性能,并且php7在性能上得到了大幅的提升,但是因为是脚本语言,因为每次执行都需要进行解释,所以php在性能上和编译语言还是有很大的差距的。

对于php很多人对它又爱又恨,喜欢它的简洁,入门上手快,讨厌它的性能不够高。虽然php一直在努力提升自己的性能,并且php7在性能上得到了大幅的提升,但是因为是脚本语言,因为每次执行都需要进行解释,所以php在性能上和编译语言还是有很大的差距的。

[[402068]]

如果php可以每次执行不需要重新进行解释,如果php可以让进程常驻内存,那么是不是php的性能会得到大幅提升呢,答案是肯定的,而且现实中已经有解决方案出现,它就是现在很多追求性能的php公司都在使用的swoole扩展,有了swoole,php可以常驻内存,可以直接处理web响应请求,php的性能得到巨大提升。

传统运行方式

我们知道传统的php运行方式是通过php-fpm进行管理,然后和nginx进行通讯,nginx负责处理静态资源,而php动态内容的处理由nginx分配给php-fpm进行处理,而php-fpm选择相应的php进程进行处理,返回结果。

roadrunnner运行模式

不同于传统的运行模式,roadrunner运行模式相当于把nginx和php-fpm进行了整合,所有的请求直接交给roadrunner进行处理,而php进程负责和roadrunner进行通讯。

roadrunner是由golang开发的,我们都知道golang提供了gorutine,它只需要很小的内存就可以启动非常多的协程,这对于并发非常有帮助,而使用了roadrunner作为php的服务器,php又在性能上得到了大幅提升。

roadrunner的优点

  • 支持扩展
  • 支持http2
  • 跨平台
  • 高性能
  • 安装简单
  • 支持队列
  • 支持grpc

性能对比

虽然roadrunner一定程度上提升了php的并发性,但是和golang以及swoole相比还是有很大的差距的,下面的图表我们可以看出来,swoole在性能上对php的提升是非常巨大的。

总结

既然单纯的roadunner还是无法满足我们对性能的要求,那么我们就可以使用swoole+roadrunner的组合来提升我们应用程序的性能。

很多时候总有人在说php是不是过时了,php是不是要消亡了,php是不是没有学习的必要了,我想说的是,从目前来看,php的社区依然在发展,php的技术大会依然每年都会召开,php的版本依然每年都有新的迭代。

一门语言停止前行的唯一原因就是它自己放弃了自己,而php它没有放弃自己,它一直在努力改变着自己。有人会说php一直在抄袭模仿,没有自己的创新,我们说的是,一个肯不断接受新知识的语言永远不会过时。

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2018-12-12 08:40:11

服务器TomcatJava

2009-01-10 19:32:36

2009-02-27 14:25:00

Weblogic应用服务器服务器管理

2012-02-02 10:24:08

JavaResin

2009-06-16 15:35:20

JBoss应用服务器

2009-04-13 09:03:52

PHPZend中间件

2012-02-23 10:02:08

Web服务器应用服务器

2009-01-16 14:37:57

TomcatWeb服务器应用服务器

2009-05-08 16:38:54

SpringHyperic服务器

2009-06-18 10:03:57

EquinoxOSGi应用服务器

2018-02-07 10:08:02

应用服务器网络数据库

2014-08-08 16:35:37

应用服务器

2012-03-23 09:32:48

应用服务器

2018-05-24 10:15:18

服务器Session问题

2009-06-16 12:02:37

JBoss IPv6

2018-03-20 14:24:10

Web服务器HTTP

2017-10-17 09:15:06

Web服务器区别

2012-03-27 10:31:41

JavaResin

2019-10-23 10:14:24

TomcatJettyGlassFish
点赞
收藏

51CTO技术栈公众号