Kafka性能维度标准

南墨2年前技术文章640

如何判断一个kafka集群是否已经处于性能瓶颈,通常的判断条件有如下几点:

维度1:磁盘IO

读写磁盘性能是kafka重要的参数指标,如果磁盘IO到达性能瓶颈会直接导致业务故障。Kafka读写性能跟磁盘IO之间的关系计算如下:

举例:假设磁盘IO的上限为100M/s,数据大小为8k,假设在topic仅设置为单副本的情况下,理论上一块盘能写入的数据量为100*1024/8=12800条。如果一个节点挂载4块盘,那么理论性能为4*12800条。如果kafka集群有4个节点,那么整个集群的性能为4*4*12800条。

维度2:网络IO

    现网的网卡设置一般为万兆网卡,一张万兆网卡的理论极限性能为1250MB/s,在多kafka集群场景下,如果每个节点的数据流量不超过这个值,网卡一般不会出现性能瓶颈。

维度3CPU使用率

     Kafka使用CPU的地方主要在请求的处理、数据落盘等,如果CPU使用率频繁出现95%以上的情况表示kafka集群性能已经到达瓶颈。通常影响kafka集群CPU使用率的几个参数主要有以下几个:

num.recovery.threads.per.data.dirbackground.threadsnum.replica.fetchersnum.network.threadsnum.io.threads。具体参数含义见1.4章节。在磁盘和网卡未达到瓶颈的前提下,如果CPU使用率未达到上限,可以适当调大num.io.threadsnum.network.threads,以提升kafka的集群处理能力。

以上三个性能指标哪个先达到瓶颈就是kafka集群的瓶颈


相关文章

企业Oracle RAC上云闲谈

企业Oracle RAC上云闲谈

随着计算机技术和互联网的不断推进,云计算平台也更加趋于稳定、安全,其显著的性能、方便的资源管理、快捷的应用部署方式越来越为IT业者所接受。目前,云计算已经成为企业数字化转型的重要驱动力。面对基于Ora...

二进制日志(binlog)

二进制日志(binlog)

一、简介二进制日志(binlog)记录了数据库中所有的DDL和DML(除select语句)操作,语句以“事件”的形式保存,记录了数据库的更改变化,在主从复制和数据恢复中起着重要的作用。但要注意的一点是...

MySQL 初始化推荐关注的参数

MySQL 初始化推荐关注的参数

前言新部署的 MySQL 实例如何配置?本 SOP 将提供一些 MySQL 关键参数及设置方法。必须设置的参数1. innodb_buffer_pool_size对于 innodb 表引擎来说,用户数...

开启cgroup

开启cgroup

Control groups 是 Linux 内核提供的一种可以限制、记录、隔离进程组所使用的的物理资源的机制。Cgroup 子系统:blkio、CPU、cpuacct、cpuset、devices、...

Hive调优

1.Fetch抓取Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM students;在这种情况下,Hive可以简单地读取studen...

SQL Server优化入门系列(二)—— 等待事件

SQL Server优化入门系列(二)—— 等待事件

在上一篇文章中(SQL Server优化入门系列(一)——快速定位阻塞SQL),我们介绍了如何快速定位SQL Server中当前正在执行的SQL,以及被阻塞的SQL。这里,我们将介绍如何通过等待事件来...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。