阅读更多

5顶
0踩

编程语言

关于Swoole

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

 

Swoolev1.6的主要改进

  1. 重写UDPServer代码,实现支持多端口的高性能UDP Server
  2. 增加swoole_connection_list/swoole_connection_info两个新接口,用于在worker进程内高效地遍历所有TCP连接,获取TCP连接的相关信息
  3. Worker进程可选IPC方式,通过configure --enable-msgqueue启用消息队列作为IPC方式
  4. swoole_server_send/swoole_server_close不再需要传入from_id参数
  5. 提供对tcp_keepalive的支持
  6. 增加日志模块,记录运行时的警告和错误信息
  7. 去掉耗时的clock_gettime调用

GitHub: https://github.com/matyhtf/swoole
文档地址: http://www4swoole.sinaapp.com/wiki.php

 

Swoole的性能压测报告

swoole性能接近nginx/golang。与node.js的对比中由于node.js本身是单线程的,无法利用多核.Node.js程序处理能力仅能达到swoole的1/3水平。


链接:http://www4swoole.sinaapp.com/wiki/main/63

 

基于Swoole扩展开发的开源项目

1、zphp一个极轻的的,专用于游戏(社交,网页,移动)的服务器端开发框架.提供高性能实时通信方案。zphp使用swoole作为底层网络通信的框架。

https://github.com/shenzhe/zphp

2、swoole_framework是基于swoole扩展,开发的PHP WebServer和框架,可以是PHP对象持久化,避免每次请求带来的对象创建/销毁消耗,性能非常好。
https://github.com/matyhtf/swoole_framework

 

5
0
评论 共 2 条 请登录后发表评论
2 楼 shuhen2011 2013-11-29 09:59
"由于node.js本身是单线程的,无法利用多核..."
1 楼 ooff 2013-10-27 10:39
单线程跟多核没有冲突!nodejs一样可以使用多核

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 文件系统之格式化与挂载

    VFS内部则通过一系列高效的管理机制,比如inode cache, dentry cache 以及文件系统的预读等技术,使得底层文件系统不需沉溺到复杂的内核操作,即可获得高性能; 此外VFS把一些复杂的操作尽量抽象到VFS内部...

  • PHP 项目 - 收集/实践

    1.应该场景 实践学习, 知识储备, 提高技术水平. 2.学习/操作 1.laravel-shttps://github.... Star 2.5kWatch 143Fork 308中文 用于快速集成Swoole到Laravel,开箱即用。特点: 集成 L...

  • PHP面试题(一)

    一:php部分 用PHP实现一个双向队列(使用deque) deque,全名double-ended queue,是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。双向队列(双端队列...

  • 2016PHP开发者大会

    Rasmus Lerdorf——《Speeding up the Web with PHP 7》 PHP 7 is here. It brings drastic performance and efficiency improvements to the point that it will reshape the data center footprint of PHP sit...

  • shell实例手册

    shell实例手册 1文件{ touch file # 创建空白文件 rm -rf 目录名 # 不提示删除非空目录(-r:递归删除 -f强制) dos2unix # windows文本转linux文本 unix2dos # linux文本转windows文本 enca filename ...

  • Swoft 2.x 微服务基础(Consul、RPC 服务发现、限流与熔断器)

    本篇概要:1....1.1 Consul 概况;...1.3 健康检查;1.4 服务发现;...1.6 封装 client 类、调用 http api;2. RPC 和服务发现;2.1 RPC 服务的基本配置;2.1.1 基本概念;2.1.2 基本配置;2.2 创建 RPC 服...

  • grpc

    正是由于分布式事务存在很严重的性能问题,大部分高并发服务都在避免使用,往往通过其他途径来解决数据一致性问题。 2.使用消息队列来避免分布式事务 如果仔细观察生活的话,生活的很多场景已经给了我们提示。...

  • 安装NumPy教程-详细版

    附件是安装NumPy教程_详细版,文件绿色安全,请大家放心下载,仅供交流学习使用,无任何商业目的!

  • 语音端点检测及其在Matlab中的实现.zip

    语音端点检测及其在Matlab中的实现.zip

  • C#文档打印程序Demo

    使用C#完成一般文档的打印,带有页眉,页脚文档打印,表格打印,打印预览等

  • DirectX修复工具-4-194985.zip

    directx修复工具 DirectX修复工具(DirectX repair)是系统DirectX组件修复工具,DirectX修复工具主要是用于检测当前系统的DirectX状态,若发现异常情况就可以马上进行修复,非常快捷,使用效果也非常好。

  • Python手动实现人脸识别算法

    人脸识别的主要算法 其核心算法是 欧式距离算法使用该算法计算两张脸的面部特征差异,一般在0.6 以下都可以被认为是同一张脸 人脸识别的主要步骤 1 获得人脸图片 2 将人脸图片转为128D的矩阵(这个也就是人脸特征的一种数字化表现) 3 保存人脸128D的特征到文件中 4 获取其他人脸转为128D特征通过欧式距离算法与我们保存的特征对比,如果差距在0.6以下就说明两张脸差距比较小

  • 全国大学生信息安全竞赛知识问答-CISCN 题库.zip

    ciscn 全国大学生信息安全竞赛知识问答-CISCN 题库.zip

  • JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译).zip

    JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)JAVA+SQL离散数学题库管理系统(源代码+LW+外文翻译)

  • strcmp函数应用.zip

    strcmp函数应用.zip

  • 蓝桥杯单片机第十一届国赛设计题试做

    蓝桥杯单片机第十一届国赛设计题试做

  • 基于MATLAB的pca人脸识别.zip

    基于MATLAB的pca人脸识别.zip

  • 520.html

    520.html

  • JAVA在线考试管理系统(源代码+LW+开题报告+外文翻译+英文文献+答辩PPT).zip

    JAVA在线考试管理系统(源代码+LW+开题报告+外文翻译+英文文献+答辩PPT)

  • STR710的定时器编程C语言例子,开发环境为IAR EWARM。.zip

    STR710的定时器编程C语言例子,开发环境为IAR EWARM。.zip

Global site tag (gtag.js) - Google Analytics