PHP协程--司超
2020-02-27 223浏览
- 1.
- 2.
- 3.PHP协程 司超 chalesi@tencent.com
- 4.关于我 u 司超 chalesi u 2011年 腾讯 SNG-即通综合部 u 2013年 Swoole官⽅方开发组成员 chalesi@swoole.com 官⽅方⺴⽹网址:http://www.swoole.com/项⺫⽬目地址:https://github.com/swoole/swoole-srcu 2015年 QQ公众平台WEB后台技术负责⼈人 u 2015年 开源项⺫⽬目TSF创始⼈人 项⺫⽬目地址:https://github.com/tencent-php/tsfSwoole官⽅方⼀一群:321637118(已满) Swoole官⽅方⼆二群:364153814
- 5.PHP边界的探索
- 6.Swoole架构图
- 7.什么是协程 u 进程,线程,协程 u 特点 ü 相对与线程切换速度快 ü 可定制⾃自⼰己调度策略 ü 不占⽤用系统线程数资源,系统性能影响⼩小 ü 协程数量只取决与内存⼤大⼩小,可创建上万个实例 u 协程的原理
- 8.协程能做什么 u 同步编码 ü 优点:逻辑清晰,开发简单 ü 缺点:吞吐量低,时延⼤大 u 异步编码 ü 优点:吞吐量⾼高,时延⼩小 ü 缺点:异步回调,开发难度⼤大 u 协程 ü 同步编程,异步调⽤用,性能和开发效率兼顾
- 9.⽀支持协程的语⾔言 u Lua u Python u C# u Go u Javascript u C++ Boost.Coroutine u …… u PHP是世界上最好的语⾔言
- 10.TSF框架简介 u 底层基于swoole扩展构建的应⽤用层框架 u 对负责业务逻辑处理的worker进⾏行分组:每组都是⼀一个独⽴立的 swoole-serv; u 基于zend Coroutine的双向通信实现协程 u 完善的监控体系, u 通讯扩展性:⽀支持更多通讯⽅方式(TCP、UDP、HTTP); u ⽇日志多种类型多种级别,可配置; u 业务逻辑层⽀支持异步IO调⽤用+协程,异步IO超时机制
- 11.TSF协程调度
- 12.TSF框架图
- 13.启动⽅方式 u ⽀支持start,stop,reload,restart,shutdown, status
- 14.多Server实例
- 15.多Server实例 u 查询Server运⾏行状态 u 停⽌止 Swoole-Controller
- 16.Router
- 17.异步IO调⽤用
- 18.性能数据 /usr/local/apache/bin/ab -c 300 -n 100000 -p /tmp/chale.jsonhttp://test.mp.qq.com/test.php Requests Per Second TSF(四次串行) 10000 TSF(Mutical) 15000 TSF(无后端调用) 25000 Nginx+FPM(无后端调用) 5000 Nginx+FPM(四次串行) 1900 机器配置:TSF(Mutical) 压测服务器: 实体机4核 16G内存 后端调用机: 虚拟机 CPU 2.5G 1G内存
- 19.TSF案例
- 20.TSF未来展望… u 更多异步IO协程⽀支持 ü u WebSocket,HTTPS,Unix socket 频控 安全 完善的⽇日志组件 ü u 单机频率控制,联机频率控制 更多通讯⽅方式 ü u 协程 频率控制 ü u Mysql, Redis, Memcache, Mogodb 本地⽇日志加⺴⽹网络⽇日志 安全控制 ü XSS,SQL注⼊入,CRLF, …… ⽇日志 通讯
- 21.TSF团队 期待你的加入 邮箱:chalesi@tencent.com QQ : 5108231