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