卡夫卡队列_卡夫卡编年史队列基准

卡夫卡队列

总览

最近,我被要求比较《卡夫卡》和《编年史》的性能。 没有两个产品是完全一样的,要进行公平的比较并不容易。 我们可以尝试运行类似的测试,看看我们得到了什么结果。

该测试基于Apache Kafka性能结果 。

测试使用了什么?

卡夫卡测试的一个方面是多线程性能。 在我们已经完成的测试中,使用更多的线程(取决于您拥有的CPU数量)并不好坏。 我们没有在这里进行基准测试。 所有测试都使用一个生产者。

另一个区别是,我们按时间而不是按计数定期刷新到磁盘。 能够说自己永远不会落后X毫秒通常比说600条消息更有用,因为您不知道这些消息可能在那里等待了多长时间。 对于我们的测试,我们看一下1 ms到10 ms之间的刷新周期。 在Kafka的测试中,它们似乎大约每3毫秒一次。

在每种情况下,使用的消息大小均为200字节,我们探索了一次写入1、2、5和10条消息的区别。 我们还分批尝试了200条消息,其性能类似于10条。

我们仅测试了写入SSD磁盘的持久性。 注意:编年史无经纪人。

结果

测试的结果显示了以MB / s为单位的消息速率。 这是描述性能的合理方法,因为消息大小可能会有所不同,但是您将获得相似的带宽,尤其是消息大小超过1 KB时。

设备 冲洗周期(毫秒) 1个 2 5 10
ssd.ext4 1个 236 MB /秒 300 MB /秒 340 MB /秒 363 MB /秒
ssd.ext4 3 378 MB /秒 483 MB /秒 556 MB /秒 583 MB /秒
ssd.ext4 10 495 MB /秒 595 MB /秒 687 MB /秒 705 MB /秒
tmpfs 988 MB /秒 1317 MB /秒 1680 MB /秒 1847 MB​​ /秒

我们还测试了“写入” tmpfs文件系统。 由于没有执行对设备的实际写入,因此速度更快。

结论

无法与Kafka进行直接比较,因为它是基于代理的系统,因为必须通过TCP发送任何消息。 编年史可以通过TCP复制,但是不是必须的,如果要最大化性能,您将使用高速网络,最快的是服务器的内存总线。

您可以运行类似的测试并获得出色的结果。 如果您需要处理数百MB / s的突发事件,那么Chronicle可能是一个更好的解决方案。

翻译自: https://www.javacodegeeks.com/2014/10/kafka-benchmark-on-chronicle-queue.html

卡夫卡队列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/340052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php zip怎么安装,php如何安装zip模块?(方法介绍)

php 安装zip模块为php安装zip扩展wget http://pecl.php.net/get/zip-1.13.5.tgz tar -zvxf zip-1.13.5.tgz cd zip-1.13.5 /home/xxx/php/bin/phpize出现错误:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment va…

vs如何写多线程_java中的多线程的示例

在讨论多线程之前,让我们先讨论线程。线程是进程中轻量级的最小部分,可以与同一进程的其他部分(其他线程)并发运行。线程是独立的,因为它们都有独立的执行路径,这就是为什么如果一个线程中发生异常,它不会影响其他线程…

OCA第4部分中的Java难题

在Java Puzzlers的第四部分中,我们有一些与char类型有关的东西。 public class Puzzler { public static void main(String[] args){ char myChar a ; myChar; System.out.println(myChar); } } 您可能已经猜到了。 它将打印“ b”,其原因是char类型是…

matlab mex路径,使用matlab进行mex编译时的路径问题mexopts

matlab和vs 进行混合编程时总需要使用matlab编译mexFunction.cpp文件。这些文件免不了使用include下的*.h和lib下的*.lib文件。举matlab和vs 进行混合编程时总需要使用matlab编译mexFunction.cpp文件。这些文件免不了使用include下的*.h和lib下的*.lib文件。举例说明&#xff0…

python怎么运行ln函数_Python基础篇(五)

bool用于判断布尔值的结果是True还是False>>> bool("a")True>>> bool(3)True>>> bool("")False>>> bool(0)FalsePython中的elif类似于Java中的elseif>>> number (int)(input("input a number: ")…

hystrix应用 博客_用Hystrix保护您的应用程序

hystrix应用 博客在先前的帖子http://www.javacodegeeks.com/2014/07/rxjava-java8-java-ee-7-arquillian-bliss.html中,我们讨论了微服务以及如何使用(RxJava)的Reactive Extensions编排微服务。 但是,如果一项或多项服务因已停止…

python除法函数一般如何命名_关于python:当用于除法时,’/’和’//’之间有什么区别?...

使用一个对另一个有好处吗?在Python2中,它们似乎都返回相同的结果:>>> 6/32>>> 6//32请参考整数除法的问题,因为引入了//运算符进行整数除法。在python 3.0中,5 / 2将返回2.5,5 // 2将返…

艾默生变频器报警PHP,艾默生ct变频器报警ou 这个CT的变频器报警UU怎么解决?

1, 这个CT的变频器报警UU怎么解决?(1) 控制板Q1(15050026)坏。(2) 7840坏:在变频器通电时,用直流档,黑接5脚,红分别接6,7,8脚,值为2.5,2.5,5为正常,否则7840坏。(3) 小板坏:在变频器…

Project Reactor展开方法

最近,我的一位同事向我介绍了Project Reactor类型的expand运算符,在这篇文章中,我想介绍几种使用它的方式。 展开分页结果 考虑在名为City的模型上基于Spring Data的存储库: import org.springframework.data.jpa.repository.Jpa…

同时买票是怎么实现的_去巴黎玩怎么买地铁票最划算?| 巴黎最全交通攻略

次票、天票、机场票……傻傻分不清楚。不会法语怎么办?什么时候买有优惠?看这一篇全知道​​巴黎作为国际大都市,交通还是非常方便的。基本上80%的巴黎景点都能坐地铁到达,就在我们平常所说的小巴黎里。整个巴黎岛(Ile…

php输入地址查询,PHP查询用户IP所在地址

原创内容,转载请注明出处:https://www.myzhenai.com.cn/post/3042.html关键词:IP所在地址 IP地址 PHP获取ip地址相关内容:获取IP所处位置的Shell代码:https://www.myzhenai.com.cn/post/2917.htmlWordPress获取当前浏览…

javafx css_JavaFX技巧13:研究Modena CSS文件

javafx css到目前为止,这是最简单,最短的提示。 如果要执行以下任何操作: 了解如何使用CSS 使您的自定义控件看起来像标准控件 重用标准控件使用的SVG路径图形(例如,滚动条箭头) 弄清楚如何浏览标准控件…

python彩票数据分析案例_天津Python人工智能课程

Python人工智能课程介绍人工智能主要致力于计算机视觉,自然语言处理与语音识别三大领域!其基础与核心都是机器学习,当下AI时代各大行业巨头公司都在争相追逐这些热门领域,创业公司更是层出不穷,人工智能工程师的需求量…

swig模板 PHP,如何使用nodejs前端模板引擎swig

这次给大家带来如何使用nodejs前端模板引擎swig,使用nodejs前端模板引擎swig的注意事项有哪些,下面就是实战案例,一起来看一下。相对于jade,我还是更喜欢swig前端模板引擎,jade虽然语法简练高效了不少,但是…

jaxb_JAXB –新手的观点,第2部分

jaxb在本系列的第1部分中,我讨论了使用JAXB和JPA将数据从XML文件加载到数据库中的基础知识。 (如果需要使用JSON而不是XML,则相同的想法应转化为类似Jackson的工具。)该方法是使用共享域对象,即,一组带有描…

redis是什么_什么是Redis?为什么我们要用Redis?

前言当结束Java和数据库的学习以后,你就会接触到Redis这个词,我第一次听到的时候脑海里就会浮现这两个问题:什么是Redis?为什么我们要用Redis?我了解完以后,写出来帮助大家能够更快的认识它。我们先来看它的…

php strpos无效,簡單的PHP strpos功能不起作用,為什么?

Why isnt this standalone code working:為什么這個獨立代碼不起作用:$link https://google.com;$unacceptables array(https:,.doc,.pdf, .jpg, .jpeg, .gif, .bmp, .png);foreach ($unacceptables as $unacceptable){if (strpos($link, $unacceptable) true) {…

java基准测试_星期五基准功能Java

java基准测试让我们的产品所有者有一天变得疯狂,并要求您执行以下操作: From a set of Strings as follows : “ marco_8”,“ john_33”,“ marco_1”,“ john_33”,“ thomas_5”,“ john_3…

python2048游戏代码_【Python】用Python实现2048小游戏(源代码,1.0版本)

#2048 用python实现import randomimport mathimport osglobal scorescore 0def start():#开始a [[0 for i in range(4)] for i in range(4)] #构造一个4*4的列表i random.randint(0,3)j random.randint(0,3)p2 random.random()if p2>0.9: a[i][j] 4 #有0.9几率出现2el…

性能php 教程,提高PHP性能效率的几个技巧

如何提高效率问题,往往同样的功能,不一样的代码,出来的效率往往大不一样。● 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:…