php有必要用swoole吗
在 swoole 官网的自我介绍是“面向生产环境的 php 异步网络通信引擎”,首先 swoole 它是一个网络应用的开发工具,它支持 http、tcp、udp、websocket。
swoole 和我们传统的 php 开发差别是有的,需要理解的概念也是有的。使用目前一些基于 swoole 的框架开发的话,从开发习惯上和传统的tp、lv 框架相差不多。
那为什么要使用 swoole?
我认为有以下几点:
常驻内存,避免重复加载带来的性能损耗,提升海量性能
协程异步,提高对 i/o 密集型场景并发处理能力(如:微信开发、支付、登录等)
方便地开发 http、websocket、tcp、udp 等应用,可以与硬件通信
php 高性能微服务架构成为现实
常驻内存
目前传统 php框架,在处理每个请求之前,都要做一遍加载框架文件、配置的操作。这可能已经成为性能问题的一大原因,而使用 swoole 则没有这个问题,一次加载多次使用。
协程
说到协程,就得先简单说说进程和线程,众所周知进程是很占用资源的,为了处理请求大量创建进程肯定是得不偿失的。而多线程应用就比较多了,在 cpu 层面有几个核心就会执行几个任务,线程一旦创建的多了,就会有线程调度的损耗。
协程是在单线程基础上实现的,它可以最大限度利用 cpu 资源,而不会在等待 i/o 时白白浪费。当然,协程数越多占用的内存也就越多,不过这个是可以接受的,相比进程和线程,占用的资源是相对较少的。
使用协程时,遇到读写文件、请求接口等场景,会自动挂起协程,把 cpu 让给其它协程执行任务,这样可以提升单线程的 cpu 资源利用率,减少浪费,从而提高性能。
协程代码示例:
- 有需要学习交流的友人请加入swoole交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的。感谢阅读!
以上就是php有必要用swoole吗的详细内容,更多请关注我吧
上一篇: submit是什么意思?
推荐阅读
-
php和java我该学什么?有php视频教程和java的吗?
-
Python web 开发一定要用框架吗?有没其它方法,类似 PHP 的语句?
-
mysql - 多用户同时请求一个PHP文件有可能得到相同的返回值吗?
-
问一下子php开发工具zendstudio10 有即实窗口吗 console
-
dwz - 开发一个基于PHP 的后台管理系统,相当于一个招生系统的界面,有什么推荐的吗?
-
php7有开发手册吗?
-
开发一款app,php做服务端,有一个功能是附近的人和发布动态的时候发布自己的定位,php世界有啥好的方案去做这些吗?
-
在console中看到AJAX请求要用1.5S左右,如何去测试PHP代码中是哪一段比较费时间,用什么工具可以看到整个运行过程吗?
-
不要框架,纯PHP,能实现这样的功能吗?有很多页面,有插入删除修改功能,只写一种增删改方法,其他页面也能共用这一个方法
-
javascript - php 有什么函数是可以根据文件名称,来获取这个文件的全路径的吗?或者js 怎么获取文件的全路径?