框架不是为了提升网站的性能,是为了提升网站的开发效率。最少的性能损耗,换取最大的开发效率。利用Swoole框架,开发一个复杂的Web功能,可以在很短的时间内完成!
Swoole有独立特行的道!
Swoole不是一个向Zend Framework、CakePHP、Yii、symfony、ThinkPHP等框架,或者WordPress、Drupal 、Discuz、UChome等开源产品看齐的项目。 Swoole的目标是向Java框架、Rails On Ruby、Python Django Pylons等一流框架发起挑战。
新功能
Swoole可以独立运行了。swoole代码中已提供http server。按照Swoole MVC规范编写的程序都可以独立运行,无需前置Apache服务器。
<?php require('config.php'); define('SESSION_CACHE','file://localhost#sess'); require(LIBPATH.'/function/cli.php'); //Mime格式 require(LIBPATH.'/data/mimes.php'); $mime_types = array_flip($mimes); //静态文件许可 $static_files = array_flip(array('static','templates','swoole_plugin','favicon.ico','robot.txt')); $static_access = array_flip(array('html','htm','jpg','gif','png','js','css')); //加载全部controller import_all_controller(); $SERVER'run_mode' = 'server'; $SERVER'server_driver' = 'SelectTCP'; //BlockTCP,EventTCP,SelectTCP $SERVER'server_host' = '0.0.0.0'; $SERVER'server_port' = 8888; $SERVER'server_processor_num' = 4; //启用的进程数目 $SERVER'session_cookie_life' = 86400; //保存SESSION_ID的cookie存活时间 $SERVER'session_life' = 1800; $php->runServer();
PHP 的代码加载到内存后,拥有更长的生命周期,这样建立的数据库连接和其他大的对象,不被释放。每次请求只需要处理很少的代码,而这些代码只在第一次运行时,被 PHP 解析器编译,驻留内存。以后都是直接载入 OPCODE ,让 Zend 引擎直接运行。另外,之前 PHP 不能实现的,数据库连接池,缓存连接池都可以实现。系统的运行效率会大大提高。
Swoole使用 PHP 本身编写出 HTTP 服务器,以独立服务器方式运行,单个程序页面 ( 有对象生成,数据库连接、 smarty 模板操作 ) 的执行时间由原来的 0.0x 秒,下降到 0.00x 秒。使用 Apache AB 并发 100 测试。比传统 LAMP 方式, Request per Second 高出至少 10 倍。在我的测试机上 (Ubuntu10.04 Inter Core E5300 + 2G 内存 ) , Apache 只跑到 83RPS 。 Swoole Server 可以跑到 1150 多 RPS 。
新功能
Swoole增加中心日志控制模块。用法
$php->log->info('that is swoole!');
Swoole增加事件触发系统。用法
$php->event->raise('sendsms',$mobile,$sms_content);
这是一个很酷的设计,如果在本地测试环境中,你可是配置为同步,那么raise引发一个时间后,去执行事件对应的handle函数。如果是服务器环境,可以设置为异步,那么raise只会向Queue服务器投递一个事件。在后台启动一个守护进程,从Queue服务器取得事件,然后再用handle函数去处理。
压力测试
运行环境:Linux Windows Mac FreeBSD Unix
PHP版本支持:PHP5.2 PHP5.3 PHP6.0
PHP5.1需要添加Json支持,不支持PHP4.x版本
支持的数据库:MS SQL Server、MySQL、IBM DB2、Oracle、Interbase 、SQLite、PostgreSQL、ODBC
支持的运行方式:Web、Cli命令行脚本、PHP-GTK GUI
压力测试:ab -c 100 -n 1000 http://www.swoole.com/ (服务器环境为双核CPU+4G内存+320G SATA,已安装APC扩展)
Requests per second: 733.86 #/sec
Transfer rate: 7737.04 Kbytes/sec received
此处省略了一部分内容,有兴趣的朋友可以自己测试一下。我这里是在服务器上对实际的动态页面进行的测试.
最新版本:Swoole 0.98 beta 1 Released Featured
点击下载 次版本修正、改进了很多地方。新增了Swoole事件处理系统,Validate验证类,CacheQueue高速队列等,具体内容请浏览updates项目。增强了安全性和健壮性。并且解决了在生产环境遇到各类问题
官方网站已用swoole框架重写,在线文档和社区正在建立中,另外将收录几个比较成功的站点案例。另外基于libevent和pcntl的linux socket服务器类,已编码完成,目前正在实验测试中。将在下一个版本(预计2011年6月份)中包含。
Swoole提供PHP网络服务器类库
PHP不仅可以运行于Web,也可以作为守护进程或者是Windows服务运行。通过建立TCP、UDP Server,可以建立后端应用服务器,更好的将PHP程序分层。
前端Web层PHP处理,请求应答。后端守护进程运行的PHP程序,处理业务逻辑。另外,还可以将慢速操作,放到后端处理,比如发送远程请求,批量处理更新,前端发送UDP包到后端服务器,后端服务器进行处理,并处理结果。
Swoole网络服务器类库,首先在Linux/Unix下实现,依赖于libevent,epoll调用,实现高性能高并发服务器。
无论在Web上还是服务器程序,都可以使用Swoole类库提供的功能,只需要require ‘config.php’,就可以了。
Swoole开始提供Javascript库了
目前,提供2个包,UI类:包含Dialog、Button、日历输入框,表单验证类:根据属性,自动验证表单。
浏览swoole.js
包含以下几个特色功能:
1、 类似ORM的数据查询,提供SQL封装器,让MySQL的SQL与PHP的Array,会话,Cache无缝结合
2、App MVC分层结构,有效的程序结构分层,提高程序的可维护性和扩展性,实现低耦合,基于接口开发。
3、集成大量实用的功能,比如方便的数据库操作,模板操作,缓存操作,系统配置,表单处理,分页,数据调用,字典操作,上传处理,内容编辑,调试等
4、模板-数据反射系统,可以直接在模板中调用数据,提供很多标签,可是无需修改程序,只修改模板,即可实现网站各类更新维护工作。
Future
1、Swoole net 类的继续完善,解决异步IO,增加多线程Driver,完成其他协议
2、Swoole框架,部分使用C重写,作为PHP的扩展模块。
https://github.com/swoole/swoole-src/blob/master/examples/server.php
http://www.swoole.com/wiki/index/prid-1
相关推荐
PHP高级Web开发框架,Swoole深入解读+IM在线即时通讯案例视频教程下载。Swoole是一种PHP高级Web开发框架,框架不是为了提升网站的性能,是为了提升网站的开发效率。最少的性能损耗,换取最大的开发效率。利用Swoole...
正文 swoole有两个部分。 一个是PHP扩展,用C开发的,这是核心。 另一个是框架,像yii、TP、Laravel一样,是PHP代码写的。...swoole扩展是基础,基于swoole扩展,可以做出多种框架,而不仅仅是web框架。
基于ThinkPHP开发的一款支持Swoole的开源内容管理框架,同时支持PHP-FPM和Swoole双模式,让WEB开发更快
基于swoole实现的自带http server的web开发框架,用于开发高性能的api应用,例如app接口服务端等
swoole 分布式全栈框架 web开发增强版,基于SwooleDistributed
基于PHP、MySQL等技术构建的web系统,框架,PHP学习,课程设计作业,可用于毕业设计,源码项目,可直接运行,实测! 基于PHP、MySQL等技术构建的web系统,框架,PHP学习,课程设计作业,可用于毕业设计,源码项目,...
FastD 是一个支持 Swoole 的轻量级 Web 开发框架,可适用于对性能有要求的 API 场景,并且灵活的扩展性可以让开发者们更容易地建造自己的服务 (基于Swoole)
ThinkCMF是一款支持Swoole的开源内容管理框架,基于ThinkPHP开发,同时支持PHP-FPM和Swoole双模式,让WEB开发更快!
Kovey Web Framework 1.0 描述 这是一个基于swoole的php web框架 用法 composer create-project kovey/app-web
基于php swoole扩展,具有天生高性能优势的Web框架
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】...
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发Node.js、C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...
Swoole是一种PHP高级Web开发框架,框架不是为了提升网站的性能,是为了提升网站的开发效率。最少的性能损耗,换取最大的开发效率。利用Swoole框架,开发一个复杂的Web功能,可以在很短的时间内完成了。(easy-swoole...
Tencent Server Framework 是快速服务器部署框架,PHP 现在可以像 Golang 一样用协程实现高并发服务器,同时支持同步阻塞,异步非阻塞回调,协程这 3 种 IO 模型。 主要特性: 基于 PHP,相比 C 开发更高效 ...
软擎是基于 Php 7.2+ 和 Swoole 4.4+ 的高性能、简单易用的开发框架。支持同时在 Swoole Server 和 php-fpm 两种模式下运行。内置了 Http (Swoole, Fpm),Tcp,WebSocket,Process,Crontab服务。….zip 软件开发...
基于Swoole高性能应用框架。常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞、协程实现。可以用于构建高性能的Web系统、API、中间件、基础服务等等 软件开发设计:PHP、应用软件开发、系统软件开发、移动应用开发、...
基于swoole引擎的PHP框架,结构清晰,部署简单,使用方便。可以灵活应对HTTP-Webso-simoole
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】...
Blink是什么 Blink 是一个为构建 “long running” 服务而生的 Web 微型高性能框架,它为构建 Web 应用程序提供简洁优雅的API,尽量减轻我们的常规开发工作。 与此同时,Blink尽可能的保持... 标签:Blink Web框架
但核心代码兼容5.0版本,保证老用户最小升级成本增加对swoole支持,同时支持swoole协程和全swoole模式重新规范目录结构,更贴心CMF核心库及应用使用composer加载合并API到框架核心更规范的代码,遵循PSR-2命名规范和...