框架不是为了提升网站的性能,是为了提升网站的开发效率。最少的性能损耗,换取最大的开发效率。利用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深入解读及实战案例 #### Swoole框架概述 Swoole是一款基于PHP语言的高性能、异步并发的Web服务器软件。它通过使用多线程、协程以及异步I/O等技术手段,极大地提高了PHP在处理高并发...
使用Swoole构建的Web框架,能够确保这些接口的快速响应和高并发处理能力,从而满足现代互联网应用的需求。 基于Swoole的Web开发框架通常具有以下特点: 1. **异步非阻塞I/O**:Swoole扩展实现了事件驱动和异步编程...
正文 swoole有两个部分。 一个是PHP扩展,用C开发的,这是核心。 另一个是框架,像yii、TP、Laravel一样,是PHP代码写的。...swoole扩展是基础,基于swoole扩展,可以做出多种框架,而不仅仅是web框架。
【标题】"swoole分布式全栈框架web开发增强版基于SwooleDistributed" 提供了一个关于使用Swoole扩展进行分布式Web开发的高级框架。Swoole是一款高效的PHP扩展,它允许开发者构建高性能、异步、非阻塞的网络应用。...
imi 是基于 Swoole 的 PHP 协程开发框架,它支持 Http、Http2、WebSocket、TCP、UDP、MQTT 等主流协议的服务开发,特别适合互联网微服务、即时通讯聊天im、物联网等场景
ThinkCMF是基于ThinkPHP框架开发的内容管理框架,它提供了一套完整的前后端模板、插件机制、权限管理、模块化开发等功能,使开发者能够快速构建各种类型的网站。其开源特性鼓励社区成员参与贡献,持续优化和扩展功能...
ThinkCMF是一款强大的开源内容管理框架,其特点在于深度整合了Swoole扩展,使得它在传统的PHP-FPM模式下运行的同时,也能充分利用Swoole的异步非阻塞I/O特性,为Web开发带来显著的性能提升。这款框架基于国内广受...
【标题】"毕业设计:基于PHP开源商城系统,基于swoole、easyswoole框架开发.zip" 提供了一个关于计算机科学与技术专业毕业设计的项目,该项目使用PHP编程语言构建了一个开源的在线商城系统,并结合了swoole和easy...
本文将深入探讨基于Swoole和EasySwoole框架开发的PHP开源商城系统,揭示其背后的技术原理和优势。 一、Swoole框架:提升性能的关键 Swoole是一款高性能的PHP扩展,它为PHP提供了原生的异步、并行处理能力,极大地...
Swoole 4.x 框架是 PHP 开发者们的一个强大工具,它使得 PHP 能够扩展其功能,不仅限于传统的 Web 开发,还能深入到网络通信和服务器编程领域。Swoole 提供了一个高性能、异步、非阻塞的事件驱动模型,使得 PHP 在...
基于PHP、MySQL等技术构建的web系统,框架,PHP学习,课程设计作业,可用于毕业设计,源码项目,可直接运行,实测! 基于PHP、MySQL等技术构建的web系统,框架,PHP学习,课程设计作业,可用于毕业设计,源码项目,...
FastSwoole是一款基于PHP的Swoole扩展开发的高性能Web框架,旨在充分利用Swoole的非阻塞I/O、事件驱动和协程特性,为PHP开发者提供一个轻量级且高效的应用开发平台。本文将深入探讨FastSwoole的核心特性、工作原理...
综上所述,MixPHP 是一款结合了 Swoole 强大性能优势的 PHP 开发框架,适合开发高性能的 Web 应用、API 服务以及实时通信系统。如果你希望在 PHP 开发中获得更高的性能和更好的可扩展性,MixPHP 是值得尝试的选择。...
FastD是一个专为PHP开发设计的轻量级Web框架,其独特之处在于它与Swoole的紧密结合。Swoole是一款高性能的PHP扩展,能够提供异步、非阻塞的网络通信环境,极大地提升了PHP在处理高并发和长连接场景下的性能。FastD...
【标题】"php开源商城系统基于swooleeasyswoole框架开发"揭示了这个项目的核心技术栈:PHP编程语言、Swoole扩展以及EasySwoole框架。这是一个使用现代PHP技术和Swoole协程特性构建的电子商务平台,旨在提供高效、可...
IMI 是一个基于 Swoole 扩展的高性能、常驻内存的 PHP 开发框架,其设计理念在于充分利用 Swoole 的协程特性,为 PHP 开发者提供了一种全新的、高效的编程模型。在这个模型中,PHP 不再局限于传统的请求-响应生命...
在给定的标题“基于swoole扩展和zphp框架开发的flash游戏.zip”中,我们可以提取出几个关键的技术知识点,包括Swoole扩展、ZPHP框架以及Flash游戏开发。接下来,我们将深入探讨这些技术及其在游戏开发中的应用。 ...
3. **PHP Web框架**:分析w7swoole_empty-master中的目录结构和文件,理解一个基于Swoole的PHP框架是如何组织的。 4. **数据库设计**:研究如何使用PHP连接MySQL,执行SQL查询,以及处理数据库事务。 5. **Web开发...
Kovey App-Web框架结合了Swoole的强大性能和PHP的易用性,为开发者提供了一个高效、易维护的Web开发平台。通过深入理解Swoole的工作原理以及Kovey框架的设计理念,开发者可以构建出更具竞争力的Web应用。无论是初创...
Swoole是一个高性能的PHP扩展,主要用于提供异步、并行和事件驱动的网络通信框架。在Web应用中,它能显著提高服务端处理速度,特别是对于I/O密集型任务如WebSocket聊天应用。 描述中的“Making a Web Chat With PHP...