× 警告!旧版文档已经暂停维护,请查看新版文档。点击前往新版文档

工具

  • SMProxy 一个基于mysql协议,swoole 开发的mysql数据库连接池。将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。超出最大连接数会采用协程挂起 等到有连接关闭再恢复协程继续操作。能够大幅度降低数据库压力,提升数据库操作效率。
支持读写分离
支持数据库连接池,能够有效解决PHP带来的数据库连接瓶颈
支持SQL92标准
遵守Mysql原生协议,跨语言,跨平台的通用中间件代理。
支持多个数据库连接,多个数据库,多个用户,灵活搭配。
支持mysql事物
采用协程调度
支持 HandshakeV10 协议版本
完美兼容mysql5.6-5.7
兼容各大框架,无缝提升性能
  • processManager 常驻多进程任务管理框架,适用于多种业务对接,内部提供第三方扩展钩子让您更方便融入到业务框架中。
Daemon方式可自由切换,变为进程组长后可使用supervisor进行管理
基于swoole的脚本管理,用于多进程和守护进程管理;
可轻松让普通脚本变守护进程和多进程执行;
进程个数可配置,可以根据配置一次性执行多条命令;
子进程异常退出时,主进程收到信号,自动拉起重新执行;
支持子进程平滑退出,防止重启服务对业务造成影响;
子进程重启次数max_request 到达请求次数自动销毁
子进程内存控制memory_limit,某daemon下进程达到内存上限,自动销毁,拉起新进程
配置文件可以按照模块进行分组操作,一个配置文件可起多个消费任务
第三方业务框架扩展,可通过配置文件指定业务代码的加载方式,并可以在业务代码前加载钩子来执行第三方框架需要的函数、类包等
对每个服务增加了CPU保护措施(防止开发人员不写sleep这样会导致CPU占用过高),在底层增加了一个微秒级别的usleep控制。
  • swoole-ide-helper 在IDE下自动识别swoole 扩展的类、函数、宏,自动补全函数名
  • swoole-crontab 基于swoole的定时器程序,支持秒级处理. 异步多进程处理。完全兼容crontab语法,且支持秒的配置
  • swoole-vmstat 运用swoole在浏览器更友好的实现vmstat
  • DHT 使用swoole编写的DHT爬虫程序,可正常获取infohash
  • swoole-linux-dash 运用swoole友好的实现Linux dash性能监控工具集合(uptime,free等)
  • Plumber 消息队列beanstalk的Worker守护进程
  • GitHook Git钩子程序,Github/Bitbucket repo 在某个分支发生 push 行为的时候,自动触发一段脚本重启swoole server
  • swoole-server-manager 常驻服务管理框架
  • php-reflection-code PHP反射IDE自动提示生成器,外链自己的GIT项目或把代码放进自己的项目可实现IDE(Zend/Eclipse/Netbeans等)中代码提示Swoole内置类与函数。