基准测试Apache Kafka:每秒写入2百万(在三台便宜的机器上)

核心的数据枢纽一定是高效的,可预测的,并且容易扩展。Kafka能够做到在普通的硬件上支撑每秒百万次写入。

Kafka的数据模型非常简单,生产者将数据发送至kafka集群,然后由消费者处理这些数据:

生产者将他们的记录发布到一个主题,消费者订阅一个或多个主题。卡夫卡主题只是一个分片式的预写日志。生产者将记录附加到这些日志中,消费者订阅更改。每条记录都是一个键/值对。该键用于将记录分配给日志分区(除非发布者直接指定分区)。

测试环境

6台相同配置的机器

Intel Xeon 2.5 GHz processor with six cores
Six RPM SATA drives
32GB of RAM
1Gb Ethernet

Kafka集群搭建在其中三台,剩下三台搭建zookeeper。

单线程生产,无复制因子

对于第一次测试,我创建了一个包含六个分区但没有复制的Topic。然后我从一个线程中尽可能快地生成五千万个小记录(100字节)。

在这些测试中关注小记录的原因在于,对于消息传递系统(通常)来说是更难的情况。如果消息很大,很容易以MB /秒为单位获得良好的吞吐量,但当消息较小时很难获得良好的吞吐量,因为处理每个消息的开销占主导地位。

我们努力确保线性磁盘I/O。这六个普通机器提供了总吞吐量为822 MB /秒的线性磁盘I / O。这实际上远远超出了我们只能使用1千兆网卡的情况。许多消息传递系统将持久性视为一种昂贵的附加功能,可以减少性能,只应该谨慎使用,但这是因为它们无法执行线性I / O。

Kafka性能的更多相关文章

  1. Kafka设计解析(五)Kafka性能测试方法及Benchmark报告

    转载自 技术世界,原文链接 Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告 摘要 本文主要介绍了如何利用Kafka自带的性能测试脚本及Kafka Manager测试Kafk ...

  2. Kafka性能调优 - Kafka优化的方法

    今天,我们将讨论Kafka Performance Tuning.在本文“Kafka性能调优”中,我们将描述在设置集群配置时需要注意的配置.此外,我们将讨论Tuning Kafka Producers ...

  3. Kafka 性能篇:为何 Kafka 这么快?

    『码哥』的 Redis 系列文章有一篇讲透了 Redis 的性能优化 --<Redis 核心篇:唯快不破的秘密>.深入地从 IO.线程.数据结构.编码等方面剖析了 Redis " ...

  4. kafka性能参数和压力测试揭秘

    转自:http://blog.csdn.net/stark_summer/article/details/50203133 上一篇文章介绍了Kafka在设计上是如何来保证高时效.大吞吐量的,主要的内容 ...

  5. Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告

    本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/12/31/KafkaColumn5_kafka_benchmark 摘要 本文主要介绍了如何利用 ...

  6. kafka性能基准测试

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 1.测试环境 该benchmark用到了六台机器,机器配置如下 l  IntelXeon 2.5 GHz processo ...

  7. Kafka 性能测试报告

    Producer command: kafka-producer-perf-test --topic _perf-test --num-records 10000000 --record-size 1 ...

  8. 【调优】kafka性能调优

    主要优化原理和思路 kafka是一个高吞吐量分布式消息系统,并且提供了持久化.其高性能的有两个重要特点: 利用了磁盘连续读写性能远远高于随机读写的特点: 并发,将一个topic拆分多个partitio ...

  9. Kafka—性能逆天的存在

    0.引言 Kafka是LinkedIn开源出来的一款消息服务器,用Scala语言实现:这货的性能是百万级的QPS(估计是挂载了多块磁盘),我随便写个测试程序就是十万级. 1.Kafka基本概念 在Ka ...

随机推荐

  1. 设置开机自启动VirtualBox虚拟机系统

    如果常用VirtualBox虚拟机系统的话,设置个随开机启动也是很方便的.不需要打开VirtualBox窗口,直接就是系统启动了. 又继续上网搜索学习了.(设置开机自启动VirtualBox虚拟机系统 ...

  2. Nginx 默认虚拟主机

    一台服务器可以配置多个网站,每个网站都称为一个虚拟主机,默认的虚拟主机可以通过 default_server 来指定:: [root@localhost ~]$ cat /usr/local/ngin ...

  3. HTML 格式化

    格式化标签: <!DOCTYPE HTML> <html> <body> <b> This text is bold </b> # < ...

  4. osg使用shader动态修改纹理坐标

    #include <osg/Node> #include <osg/Geometry> #include <osg/Notify> #include <osg ...

  5. Unity 蓝牙插件

    1.新建一个Unity5.6.2f1工程,导入正版Bluetooth LE for iOS tvOS and Android.unitypackage2.用JD-GUI反编译工具查看unityandr ...

  6. repr方法字符串输出实例对象的值

    #coding=utf-8 #repr方法字符串输出实例对象的值 class CountFromBy(object): def __init__(self, val=0, incr=1): self. ...

  7. python --葵花宝典

    1.python 函数 定义 ---def() def  fun(): print(“我是小甲鱼!!”) 调用函数 a =fun() print (a) 即可  ,注:函数调用是由上而下: 2.pyt ...

  8. javaweb项目中表单生成的验证码以及校验

    首先先来看一下项目的结构吧,有两个servlet,一个是进行验证码的生成以及存储的,一个是进行校验的,还有一个jsp页面是用来实现form表单的书写和展示: 我们只需要看这三个就行了,其他的自动忽略: ...

  9. 详解SQL中的GROUP BY语句

    下面为您介绍SQL语句中GROUP BY 语句,GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. 希望对您学习SQL语句有所帮助. SQL GROUP BY 语法 SELEC ...

  10. <转>查看linux占用内存/CPU最多的进程

    转自 http://beginman.cn/page26/ 查使用内存最多的10个进程 ps -aux | sort -k4nr | head -n 10 或者top (然后按下M,注意大写) 查使用 ...