PHP的异步并行网络扩展Swoole已发布1.7.5版本

matyhtf
 matyhtf
发布于 2014年09月10日
收藏 68

PHP的异步并行网络扩展Swoole今天发布了最新的1.7.5版本。 

  • 项目主页:http://www.swoole.com/

  • 文档页面:http://wiki.swoole.com/

  • 源代码:https://github.com/swoole/swoole-src

  • 1.7.4版本:http://pecl.php.net/package/swoole/1.7.5

主要更新

  • 增加SSL/TLS隧道加密的支持,可以轻松构建一个https服务器,wss安全WebSocket服务器

  • 增加swoole_table,这是一个全新设计的共享内存表,用来取代apc/redis等内存存储。swoole_table基于行锁自选锁,拥有超高的性能。压测每秒单线程可读写超过50万次

  • 短连接TCP性能提升50%。在基准测试中已经全面超越Golang,Nginx等TCP服务器程序。在4核8G普通PC机器上测试,swoole每秒可处理超过28000个请求,而Golang写的TCP服务器程序(已开启多核支持)只能达到22000。swoole比Golang性能高出27%

  • swoole_process增加对消息队列的支持,内置消息队列通信

  • 修复了大量已知BUG

Swoole的介绍

swoole是专门为PHP设计的异步,并行网络通信框架。使用纯C开发,不依赖任何地方库,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询等特性。

swoole为广大PHP程序员开拓了一个新的编程领域,除传统的Web编程外,swoole使PHP可以广泛应用与服务器后端编程,包括网络通信,批处理程序,任务系统,时间控制程序等。swoole经过测试还可以在ARM-Linux下运行,在移动端和嵌入式智能设备中也可以使用swoole来开发后端程序。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:PHP的异步并行网络扩展Swoole已发布1.7.5版本
加载中

最新评论(31

火-星-人
火-星-人
php比go性能好?
hellogirl
hellogirl
Nice, 喜欢!
NILYANG
NILYANG

引用来自“cpp初学者”的评论

调试工具,流式的内存分析工具!
没这玩意,怎么开发。

引用来自“eechen”的评论

php -d xdebug.cli_color=1 script.php 提示/警告/错误输出,还有profiler生成的cachegrind.out信息.

phpdbg -e/path/to/my/script.php
参见: http://phpdbg.com/docs/simples

gdb -p PHP_CLI_PID

valgrind --tool=memcheck --num-callers=30 --log-file=php.log /path/to/php-cli script.php (./configure --enable-debug)
参见: http://blog.linuxphp.org/archives/1583/

引用来自“南湖船老大”的评论

还是差的太多。用GDB调试,这个得编译的时候就要指定debug选项,也会增加扩展文件的体积(?),一般线上很少这么做的。xdebug则没有任何意义,不够底层,没任何帮助。至于最新的phpdbg,没用过,不做评价。不过phpdbg开始,PHP在调试工具链上才算是入门,离完善可可用差的还太远

引用来自“eechen”的评论

sudo gdb -p PHP_CLI_PID
这个PID是PHP脚本的PID,跟编译没有任何关系,你可以用gdb调试指定PID调试任何其他的进程。

phpdbg从5.6开始纳入PHP核心,如果phpdbg没有足够的可用性和稳定性,是不可能通过投票纳入PHP主干的。

Xdebug修饰的错误输出和PHP文件以及函数之间的调用关系和占用的执行时间,你居然说Xdebug没有任何意义,我不知道你为什么那么喜欢装?

引用来自“南湖船老大”的评论

xdebug 只是输出的PHP代码层面的信息,调试时更想知道的是更底层的信息。GDB没有符号信息的话,基本没法调试。我不知道你为什么那么喜欢装?

引用来自“eechen”的评论

你在我面前秀就够了,你在楼主这样的C实用主义开发者面前秀,你不觉得丢人吗?
如果Xdebug、GDB、phpdbg、debug都满足不了你正在进行的PHP Swoole开发,你应该直接在评论里跟楼主Swoole作者提出来,而不是跟我说一些废话,你说对吗,自以为是的Javaer?

引用来自“南湖船老大”的评论

自以为是的是你这种只知道复制粘贴的PHPer
对于这些喷子及装逼犯,我只想说,呵呵呵……
eechen
eechen

引用来自“cpp初学者”的评论

调试工具,流式的内存分析工具!
没这玩意,怎么开发。

引用来自“eechen”的评论

php -d xdebug.cli_color=1 script.php 提示/警告/错误输出,还有profiler生成的cachegrind.out信息.

phpdbg -e/path/to/my/script.php
参见: http://phpdbg.com/docs/simples

gdb -p PHP_CLI_PID

valgrind --tool=memcheck --num-callers=30 --log-file=php.log /path/to/php-cli script.php (./configure --enable-debug)
参见: http://blog.linuxphp.org/archives/1583/

引用来自“南湖船老大”的评论

还是差的太多。用GDB调试,这个得编译的时候就要指定debug选项,也会增加扩展文件的体积(?),一般线上很少这么做的。xdebug则没有任何意义,不够底层,没任何帮助。至于最新的phpdbg,没用过,不做评价。不过phpdbg开始,PHP在调试工具链上才算是入门,离完善可可用差的还太远

引用来自“eechen”的评论

sudo gdb -p PHP_CLI_PID
这个PID是PHP脚本的PID,跟编译没有任何关系,你可以用gdb调试指定PID调试任何其他的进程。

phpdbg从5.6开始纳入PHP核心,如果phpdbg没有足够的可用性和稳定性,是不可能通过投票纳入PHP主干的。

Xdebug修饰的错误输出和PHP文件以及函数之间的调用关系和占用的执行时间,你居然说Xdebug没有任何意义,我不知道你为什么那么喜欢装?

引用来自“南湖船老大”的评论

xdebug 只是输出的PHP代码层面的信息,调试时更想知道的是更底层的信息。GDB没有符号信息的话,基本没法调试。我不知道你为什么那么喜欢装?

引用来自“eechen”的评论

你在我面前秀就够了,你在楼主这样的C实用主义开发者面前秀,你不觉得丢人吗?
如果Xdebug、GDB、phpdbg、debug都满足不了你正在进行的PHP Swoole开发,你应该直接在评论里跟楼主Swoole作者提出来,而不是跟我说一些废话,你说对吗,自以为是的Javaer?

引用来自“南湖船老大”的评论

自以为是的是你这种只知道复制粘贴的PHPer

引用来自“eechen”的评论

你搜索学习过吗?你实践操作过吗?你用都没用过,你有什么发言权?

引用来自“南湖船老大”的评论

你实践了倒是写篇博客分享啊
也就是说你没有实践就乱发言啰.
我浅尝辄止的几个操作至少已经在评论里给出来,而你呢?
南湖船老大
南湖船老大

引用来自“cpp初学者”的评论

调试工具,流式的内存分析工具!
没这玩意,怎么开发。

引用来自“eechen”的评论

php -d xdebug.cli_color=1 script.php 提示/警告/错误输出,还有profiler生成的cachegrind.out信息.

phpdbg -e/path/to/my/script.php
参见: http://phpdbg.com/docs/simples

gdb -p PHP_CLI_PID

valgrind --tool=memcheck --num-callers=30 --log-file=php.log /path/to/php-cli script.php (./configure --enable-debug)
参见: http://blog.linuxphp.org/archives/1583/

引用来自“南湖船老大”的评论

还是差的太多。用GDB调试,这个得编译的时候就要指定debug选项,也会增加扩展文件的体积(?),一般线上很少这么做的。xdebug则没有任何意义,不够底层,没任何帮助。至于最新的phpdbg,没用过,不做评价。不过phpdbg开始,PHP在调试工具链上才算是入门,离完善可可用差的还太远

引用来自“eechen”的评论

sudo gdb -p PHP_CLI_PID
这个PID是PHP脚本的PID,跟编译没有任何关系,你可以用gdb调试指定PID调试任何其他的进程。

phpdbg从5.6开始纳入PHP核心,如果phpdbg没有足够的可用性和稳定性,是不可能通过投票纳入PHP主干的。

Xdebug修饰的错误输出和PHP文件以及函数之间的调用关系和占用的执行时间,你居然说Xdebug没有任何意义,我不知道你为什么那么喜欢装?

引用来自“南湖船老大”的评论

xdebug 只是输出的PHP代码层面的信息,调试时更想知道的是更底层的信息。GDB没有符号信息的话,基本没法调试。我不知道你为什么那么喜欢装?

引用来自“eechen”的评论

你在我面前秀就够了,你在楼主这样的C实用主义开发者面前秀,你不觉得丢人吗?
如果Xdebug、GDB、phpdbg、debug都满足不了你正在进行的PHP Swoole开发,你应该直接在评论里跟楼主Swoole作者提出来,而不是跟我说一些废话,你说对吗,自以为是的Javaer?

引用来自“南湖船老大”的评论

自以为是的是你这种只知道复制粘贴的PHPer

引用来自“eechen”的评论

你搜索学习过吗?你实践操作过吗?你用都没用过,你有什么发言权?
你实践了倒是写篇博客分享啊
at86
at86
强人作品,art...
理工小强
理工小强
又看了一次 还是感觉很牛B的
php码农
php码农
qps这么好高,有空在服务器上做做测试呗
eechen
eechen

引用来自“cpp初学者”的评论

调试工具,流式的内存分析工具!
没这玩意,怎么开发。

引用来自“eechen”的评论

php -d xdebug.cli_color=1 script.php 提示/警告/错误输出,还有profiler生成的cachegrind.out信息.

phpdbg -e/path/to/my/script.php
参见: http://phpdbg.com/docs/simples

gdb -p PHP_CLI_PID

valgrind --tool=memcheck --num-callers=30 --log-file=php.log /path/to/php-cli script.php (./configure --enable-debug)
参见: http://blog.linuxphp.org/archives/1583/

引用来自“南湖船老大”的评论

还是差的太多。用GDB调试,这个得编译的时候就要指定debug选项,也会增加扩展文件的体积(?),一般线上很少这么做的。xdebug则没有任何意义,不够底层,没任何帮助。至于最新的phpdbg,没用过,不做评价。不过phpdbg开始,PHP在调试工具链上才算是入门,离完善可可用差的还太远

引用来自“eechen”的评论

sudo gdb -p PHP_CLI_PID
这个PID是PHP脚本的PID,跟编译没有任何关系,你可以用gdb调试指定PID调试任何其他的进程。

phpdbg从5.6开始纳入PHP核心,如果phpdbg没有足够的可用性和稳定性,是不可能通过投票纳入PHP主干的。

Xdebug修饰的错误输出和PHP文件以及函数之间的调用关系和占用的执行时间,你居然说Xdebug没有任何意义,我不知道你为什么那么喜欢装?

引用来自“南湖船老大”的评论

xdebug 只是输出的PHP代码层面的信息,调试时更想知道的是更底层的信息。GDB没有符号信息的话,基本没法调试。我不知道你为什么那么喜欢装?

引用来自“eechen”的评论

你在我面前秀就够了,你在楼主这样的C实用主义开发者面前秀,你不觉得丢人吗?
如果Xdebug、GDB、phpdbg、debug都满足不了你正在进行的PHP Swoole开发,你应该直接在评论里跟楼主Swoole作者提出来,而不是跟我说一些废话,你说对吗,自以为是的Javaer?

引用来自“南湖船老大”的评论

自以为是的是你这种只知道复制粘贴的PHPer
你搜索学习过吗?你实践操作过吗?你用都没用过,你有什么发言权?
返回顶部
顶部