阅读更多

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.使用消息队列来避免分布式事务 如果仔细观察生活的话,生活的很多场景已经给了我们提示。...

  • 06_QLibrary.zip

    06_QLibrary.zip

  • 毕业设计: 基于Densenet + CTC技术的文字检测识别的技术研究

    本毕设课题是属于计算机视觉下的目标检测与识别,对象为自然场景下的各种文本信息,通俗的说就是检测识别图片中的文本信息。由于文本的特殊性,本毕设将整个提取信息的过程可以分为检测、识别两个部分。 论文对用到的相关技术概念有一定的介绍分析,如机器学习,深度学习,以及各种的网络模型及其工作原理过程。 检测部分采用水平检测文本线方式进行文本检测,主要参考了乔宇老师团队的 CTPN 方法,并在正文部分从模型的制作到神经网络的设计实现对系统进行了较为详细的分析介绍。 识别部分则采用的是 Densenet + CTC,对于印刷体的文字有较好的识别。

  • 毕业设计 基于javaweb的在线答题平台

    毕业设计 基于javaweb的在线答题平台

  • numpy安装 python get-pip.py

    numpy安装 numpy安装 python get-pip.py

  • 基于用户、物品的协同过滤算法.zip

    协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品。 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大量的历史数据和较高的数据质量。 容易受到“冷启动”问题的影响,即对新用户或新商品的推荐效果较差。 存在“同质化”问题,即推荐结果容易出现重复或相似的情况。 协同过滤算法在多个场景中有广泛的应用,如电商推荐系统、社交网络推荐和视频推荐系统等。在这些场景中,协同过滤算法可以根据用户的历史行为数据,推荐与用户兴趣相似的商品、用户或内容,从而提高用户的购买转化率、活跃度和社交体验。 未来,协同过滤算法的发展方向可能是结合其他推荐算法形成混合推荐系统,以充分发挥各算法的优势。

  • strcmp函数应用.zip

    strcmp函数应用.zip

  • 2.py

    2.py

  • 解读MIT-BIH数据的MATLAB代码.zip

    解读MIT-BIH数据的MATLAB代码.zip

  • 医保基本药品耗材目录查询2.0.exe

    可以查询各种医保内的药物,包括规格厂家和详细的相关资料,种类很齐全,方便大家查询,和了解药物价格等方面。

  • 使用Numpy将类保存到npz文件并读取文件,然后绘制图形的Python代码示例

    npz文件 代码中,我们首先定义了一个数据类Data,其中包含x和y两个成员变量。 然后,我们创建了数据对象,并将其保存到文件中。我们使用np.savez函数将数据字典保存到文件中,其中字典的键为变量名,值为对应的数据数组。 接下来,我们使用load_from_file方法从文件中加载数据,并创建一个新的数据对象。 最后,我们使用Matplotlib库绘制出新数据对象的图形。通过plot函数,我们将x和y作为横纵轴数据进行绘制。然后,我们添加坐标轴标签、标题,并显示网格线。 运行代码后,将显示一个绘制出的数据图形。 数据保存: def save_to_file(self, filename): data_dict = { 'x': self.x, 'y': self.y } np.savez(filename, **data_dict) # 将数据保存到文件 filename = 'data.npz' data.save_to_file(filename)

  • matlab矩阵的生成.zip

    matlab矩阵的生成.zip

  • 模拟器非常好用,赶紧来下载

    模拟器非常好用,赶紧来下载

  • 常用进制转换器16进制10进制2进制转换计算器..exe

    大家好呀!今天来介绍一款常用进制转换器,也就是 16 进制、10 进制、2 进制转换计算器。有了它,你可以轻松实现不同进制之间的快速转换。无论是将 16 进制转换为 10 进制或 2 进制,还是从其他进制转换过来,它都能准确而高效地完成。无论是在计算机编程、数字电路等领域,还是日常对进制转换有需求的时候,它都能成为你的得力小助手,让进制转换不再麻烦,快来试试吧!

Global site tag (gtag.js) - Google Analytics