美文网首页
为何建议关闭RocketMQ预热配置【实战笔记】

为何建议关闭RocketMQ预热配置【实战笔记】

作者: 瓜农老梁 | 来源:发表于2020-06-21 14:16 被阅读0次

    RocketMQ提供了一个预热配置项warmMapedFileEnable默认为关闭状态。曾在文章RocketMQ存储--映射文件预热【源码笔记】分析过文件预热流程。在预热文件时会填充1个G的假值0作为占位符,提前分配物理内存,防止消息写入时发生缺页异常。如此特性正如文章标题所说,为何建议关闭RocketMQ预热配置呢?

    一、服务端监控

    1.日志监控
    日志截图1.png 日志截图2.jpg 日志截图3.png
    2.CPU情况
    CPU.jpg

    由服务端日志可以看出,在预热时broker会发生较长的耗时,10~30秒不等,CPU也会有小幅抖动,这会造成什么影响呢?接着看下文

    二、客户端发送监控

    在broker预热时,客户端耗时长达5秒。


    发送监控1.jpg

    在broker预热时,客户端耗时长达6秒


    发送监控2.jpg

    在此时间段,业务应用伴随着大量超时报警。

    三、小结

    在broker预热时,往往伴随着磁盘写入耗时过长、CPU小幅抖动、业务具体表现为发送耗时过长,超时错误增多。关闭预热配置从集群TPS摸高情况来看并未有明显的差异,但是从稳定性角度关闭却很有必要。


    作者老梁,哈啰出行高级技术专家,参与了《RocketMQ技术内幕》审稿工作。专注后端中间件方向,已陆续发表RocketMQ系列、Kafka系列、gRPC系列、Sentinel系列、Java NIO系列。其中RocketMQ系列已发表40余篇。源码、实战、原理、调优期待与你一起学习。

    image

    相关文章

      网友评论

          本文标题:为何建议关闭RocketMQ预热配置【实战笔记】

          本文链接:https://www.haomeiwen.com/subject/juzoxktx.html