提高Producer的发送速度

        发送一条消息出去要经过三步,一是客户端发送请求到服务器,二是服务器处理该请求,三是服务器向客户端返回应答,一次消息的发送耗时是上述三个步骤的总和。在一些对速度要求高,但是可靠性要求不高的场景下,比如日志收集类应用,可以采用Oneway方式发送,Oneway方式只发送请求不等待应答,即将数据写入客户端的Socket缓冲区就返回,不等待对方返回结果,用这种方式发送消息的耗时可以缩短到微秒级。

另一种提高发送速度的方法是增加Producer的并发量,使用多个Producer同时发送,我们不用担心多Producer同时写会降低消息写磁盘的效率,RocketMQ引入了一个并发窗口,在窗口内消息可以并发地写入DirectMem中,然后异步地将连续一段无空洞的数据刷入文件系统当中。顺序写CommitLog可让RocketMQ无论在HDD还是SSD磁盘情况下都能保持较高的写入性能。目前在阿里内部经过调优的服务器上,写入性能达到90万+的TPS,我们可以参考这个数据进行系统优化。

在Linux操作系统层级进行调优,推荐使用EXT4文件系统,IO调度算法使用deadline算法。

如图7-3所示,EXT4创建/删除文件的性能比EXT3及其他文件系统要好,RocketMQ的CommitLog会有频繁的创建/删除动作。

图7-3 几种文件系统在Bonnie++中创建/删除32K文件需要的时间

另外,IO调度算法也推荐调整为deadline。deadline算法大致思想如下:实现四个队列,其中两个处理正常的read和write操作,另外两个处理超时的read和write操作。正常的read和write队列中,元素按扇区号排序,进行正常的IO合并处理以提高吞吐量。因为IO请求可能会集中在某些磁盘位置,这样会导致新来的请求一直被合并,可能会有其他磁盘位置的IO请求被饿死。超时的read和write的队列中,元素按请求创建时间排序,如果有超时的请求出现,就放进这两个队列,调度算法保证超时(达到最终期限时间)的队列中的IO请求会优先被处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当在Grafana中监控Kafka集群时,可以使用一系列指标来了解Kafka的性能和运行状。以下是一些见的Kafka指标其解读: 1 消息生产者指标: - 生产者消息速率(Producer Message Rate):表示每秒发送到Kafka的消息数量。可以用来衡量消息发送速度。 - 生产者错误率(Producer Error Rate):表示发送消息时发生的错误比例。较高的错误率可能意味着生产者出现了问题。 2. 消息消费者指标: - 消费者消息速率(Consumer Message Rate):表示每秒从Kafka消费的消息数量。可以用来衡量消息消费的速度。 - 消费者延迟(Consumer Latency):表示从消息被写入到Kafka到被消费的时间延迟。较高的延迟可能意味着消费者处理消息的速度较慢。 3. Kafka集群指标: - 主题分区数(Topic Partition Count):表示Kafka集群中所有主题的总分区数。较高的分区数可以提高吞吐量和并行处理能力。 - 副本同步延迟(Replica Sync Delay):表示副本之间同步数据的延迟时间。较高的延迟可能意味着副本同步出现问题。 4. 网络指标: - 发送字节速率(Network Send Rate):表示每秒从Kafka发送的字节数量。可以用来衡量网络传输的速度。 - 接收字节速率(Network Receive Rate):表示每秒从Kafka接收的字节数量。可以用来衡量网络接收的速度。 这些指标可以帮助了解Kafka集群的整体性能、消息的产生和消费速度、延迟情况以及网络传输情况。通过监控这些指标,可以及时发现潜在的问题并进行性能优化和故障排查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hamilton_Huan

原创不易,结合业务原创更不易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值