当前位置: 首页 > news >正文

网站推广发票税率长沙网

网站推广发票税率,长沙网,烟台logo设计公司,便宜做外贸网站原文网址:RocketMQ--为什么性能不如Kafka?-CSDN博客 简介 本文介绍RocketMQ为什么性能不如Kafka? 阿里中间件团队对它们做过压测,同样条件下,kafka 比 RocketMQ 快 50% 左右。 为什么 RocketMQ 参考了 Kafka 的架构…

原文网址:RocketMQ--为什么性能不如Kafka?-CSDN博客

简介

本文介绍RocketMQ为什么性能不如Kafka?

阿里中间件团队对它们做过压测,同样条件下,kafka 比 RocketMQ 快 50% 左右。

为什么 RocketMQ 参考了 Kafka 的架构,却不能跟 kafka 保持一样的性能呢?

读消息的方式

为了防止消息队列的消息丢失,一般不会放内存里,而是放磁盘上。消息从消息队列的磁盘,发送到消费者,过程是怎样的呢?

传统方式(比如:RabbitMQ)

如果用户想要将数据从磁盘发送到网络。那么就会发生下面这几件事:

程序会发起系统调用read(),尝试读取磁盘数据:

  • 磁盘数据从设备拷贝到内核空间的缓冲区
  • 再从内核空间的缓冲区拷贝到用户空间

程序再发起系统调用write(),将读到的数据发到网络:

  • 数据从用户空间拷贝到 socket 发送缓冲区
  • 再从 socket 发送缓冲区拷贝到网卡

最终数据就会经过网络到达消费者。

整个过程,本机内发生了 2 次系统调用,对应 4 次用户空间和内核空间的切换,以及 4 次数据拷贝

上边传统方式一份数据来回拷贝,有没有办法优化呢?有:零拷贝技术,常见的方案有两种,分别是 mmap 和 sendfile。

零拷贝(mmap)

RocketMQ用的是mmap方式。

mmap 是操作系统内核提供的一个方法,可以将内核空间的缓冲区映射到用户空间。

用了它,发送流程就有了变化。程序发起系统调用mmap(),尝试读取磁盘数据,具体情况如下:

  • 磁盘数据从设备拷贝到内核空间的缓冲区。
  • 内核空间的缓冲区映射到用户空间,这里不需要拷贝。

程序再发起系统调用write(),将读到的数据发到网络:

  • 数据从内核空间缓冲区拷贝到 socket 发送缓冲区。
  • 再从 socket 发送缓冲区拷贝到网卡。

发生了 2 次系统调用,对应 4 次用户空间和内核空间的切换,以及 3 次数据拷贝,对比之前,省下一次内核空间到用户空间的拷贝。 

不是说零拷贝吗,怎么还有 3 次拷贝?mmap 作为一种零拷贝技术,指的是用户空间到内核空间这个过程不需要拷贝,而不是指数据从磁盘到发送到网卡这个过程零拷贝。

确实省了一点,但不多。有没有更彻底的零拷贝?有,用 sendfile。

零拷贝(sendfile)

全文见:RocketMQ-为什么性能不如Kafka? - 自学精灵

http://www.pjxw.cn/news/230.html

相关文章:

  • 域名 去掉wordpress广州关键词seo
  • 西安做网站选哪家好百度指数app下载
  • 县区网站集约化平台建设研究东莞网站制作十年乐云seo
  • 重庆中技互联seo零基础入门教程
  • 编程外包平台seo门户网站优化
  • 做个网站好还是做淘宝好网站结构优化
  • 王爷王妃貌美还狠凶长沙网址seo
  • 沈阳做网站怎样收费电商seo搜索优化
  • 怎么做游戏网站的宣传图片磁力狗在线引擎
  • 广州疫情严重为什么不封城win10优化工具下载
  • 破网站怎么注册外贸seo
  • 用nat123做自己的网站百度 站长工具
  • 网站建设中跳转页面源码页面优化
  • 专注成都网站建设及推广手机建网站软件
  • 有个人免费网站吗简短的软文范例
  • 专业专业的网站开发关键词优化简易
  • 在某网站被骗钱该怎么做简述搜索引擎优化
  • 河南网站开发培训价格深圳营销型网站定制
  • 河津网站制作怎么利用互联网推广
  • 个人网站趋向电商线上推广渠道
  • 查关键词的排名工具seo点击
  • 深圳网站优化服务广告营销顾问
  • 做滤芯的网站今天的新闻内容
  • 网站图片翻页代码培训机构退费法律规定
  • .net网站开发面试推广方案万能模板
  • 1688网站建设方案书模板萧山区seo关键词排名
  • 电商网站建设与管理 教案石家庄seo网络推广
  • 图书馆网站建设费用百度一下你就知道百度首页
  • 能用凡科做网站吗 靠谱吗搜一搜百度
  • 重庆网站备案多久谷歌外链