发布于 2014-10-28 09:53:32 | 306 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Swoole框架中文教程,程序狗速度看过来!

Swoole Framework PHP Web开发框架

Swoole是一个php扩展也是一种PHP高级Web开发框架,框架不是为了提升网站的性能,是为了提升网站的开发效率。最少的性能损耗,换取最大的开发效率。利用Swoole框架,开发一个复杂的Web功能,可以在很短的时间内完成!


swoole-1.7.7 发布,内置Http服务器性能是Node.js的12倍

PHP的异步并发扩展swoole发布了 1.7.7 版本,此版本主要有:

  • 增加对cygwin环境的支持

  • 增加单次定时器的after接口

  • onClose事件调整为在close前触发

  • 增加内置Http服务器

  • 修复目前已知的所有BUG

单次定时器

swoole之前的版本仅支持间隔时间的固定定时器,1.7.7新增了单次定时器接口,可以指定在当前时间之后的n毫秒内执行一段代码。

swoole_timer_after(500, function(){
     echo "Hello Swoolen";
}); //500ms

在服务器端程序中可以调用swoole_server对象的after方法。

$server->on('receive', function($server, $fd, $from_id, $data(){
    $server->after(2000, function(){
        echo "timeoutn";
    });
}));

内置Http服务器

在此版本中swoole内部集成了一个Http服务器,由底层的C代码解析Http协议。得益于swoole的多线程Reactor+多进程模型,swoole内置Http服务器的性能非常好。通过使用apache bench工具进行压测,性能是node.js的12倍,php-fpm的6倍,Go语言内置的Http服务器的1.42倍。

压测方法:

ab -c 200 -n 200000 -k http://127.0.0.1:9501/

硬件环境:

Inter Core I5 3.2G * 4核 + 8G内存

QPS对比:

Golang Http  Node.js Http php-fpm swoole-http-server
82037.75 9684.15 17622.74 117029.94

压测采用的版本:

  • golang Ubuntu 4.9-20140406-0ubuntu1 [trunk revision 209157](已设置并发线程为CPU核数)

  • node.js v0.10.28

  • swoole-1.7.7

  • php 5.4.25 (已开启OpCache,fpm进程数设置为8)

压测使用的代码:

均取自与官方提供的最简示例。

注:性能测试报告仅作参考,测试结果并不代表实际项目数据。

Swoole是一个PHP的C扩展,可用来开发PHP的高性能高并发TCP/UDP Server。Swoole的网络IO部分基于epoll/kqueue事件循环,是全异步非阻塞的。 业务逻辑部分使用多进程同步阻塞方式来运行。这样既保证了Server能够应对高并发和大量TCP连接。又保证业务代码仍然可以简单的编写。

Swoole与Node.js相比更强大,支持同步/异步、多进程并行,Swoole提供了进程生命周期管理、内存保护机制,开发者无需考虑底层细节,专注于业务逻辑和功能的开发。

Swoole的网络事件处理是多线程的,可以充分利用多核。而Node.js是单进程单线程的。使用官方提供的EchoServer在多核环境下压测。Swoole的处理能力比node.js高出数倍。



历史版本 :
Swoole 1.10.0 发布,增加多项新特性
Swoole 1.9.22 发布,增加 Async::exec 功能
SwooleDistributed 框架 2.5 发布,全面支持 Docker
Swoole 1.9.19 发布,BUG 修复版本
Swoole 1.9.17 发布,增加静态文件处理器
Swoole 1.9.15 发布,增加静态编译支持
Swoole 1.9.11 发布,心跳检测支持时间轮算法
Swoole 1.9.9 发布,BUG 修复版本
Swoole 1.9.7 发布,增加 Http2.0 异步客户端
Swoole 1.9.6 发布,增加高性能序列化模块
Swoole 2.0 正式版发布,协程特性支持 PHP 7
Swoole 1.9.1 发布,Bug 修复版本
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务