对于php很多人对它又爱又恨,喜欢它的简洁,入门上手快,讨厌它的性能不够高。虽然php一直在努力提升自己的性能,并且php7在性能上得到了大幅的提升,但是因为是脚本语言,因为每次执行都需要进行解释,所以php在性能上和编译语言还是有很大的差距的。如果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的优点支持扩展跨平台高性能安装简单支持队列支持grpc性能对比虽然roadrunner一定程度上提升了php的并发性,但是和golang以及swoole相比还是有很大的差距的,下面的图表我们可以看出来,swoole在性能上对php的提升是非常巨大的。总结既然单纯的roadunner还是无法满足我们对性能的要求,那么我们就可以使用swoole+roadrunner的组合来提升我们应用程序的性能。很多时候总有人在说php是不是过时了,php是不是要消亡了,php是不是没有学习的必要了,我想说的是,从目前来看,php的社区依然在发展,php的技术大会依然每年都会召开,php的版本依然每年都有新的迭代。一门语言停止前行的唯一原因就是它自己放弃了自己,而php它没有放弃自己,它一直在努力改变着自己。有人会说php一直在抄袭模仿,没有自己的创新,我们说的是,一个肯不断接受新知识的语言永远不会过时。
转载请注明:http://www.aierlanlan.com/tzrz/7632.html