当前位置: 首页 > news >正文

38 调优kafka

操作系统调优

1.禁止atime更新,减少文件系统的写操作。
mount -o noatime
2.选择高性能的文件系统,如ext4或者XFS
3.swap空间设置,将swappniness设置成很小的一个值比如1~10,防止linux OOM Killer 开启随意杀掉进程。
swappiness的值是个参考值,是否会发生swap跟当前是哪种page reclaim及系统当前状态都有关系,所以设置了swappiness=0并不代表一定没有swap发生,同时设为0也确实会可能发生OOM。
swappniness的值范围是0-100,数值越低,操作系统越倾向于在物理内存中保存进程数据;数值越高,操作系统越倾向于将进程数据交换到交换分区。
swap操作是磁盘IO操作。
https://www.linuxprobe.com/linuxkernel-swappiness-meaning.html
https://blog.itpub.net/69920922/viewspace-2724962/
4.ulimit -n
在linux操作系统中用于限制进程能够打开的文件描述符的最大数目。
5.vm.max_map_count
用于限制单个进程可以拥有的内存映射区域数量。linux中每个进程可以使用mmap()系统调用来请求操作系统映射一段虚拟地址到物理内存,以便访问某个文件或者共享内存。
mmap将虚拟内存空间映射到文件的页缓存,对虚拟内存的读写操作相当于直接对文件进行读写操作。
https://cloud.tencent.com/developer/article/2144681
6.操作系统页缓存
给kafka预留的页缓存越大越好,至少要能容纳一个日志段,这样消费者在消费的时候能够直接命中页缓存,避免昂贵的磁盘IO操作

JVM调优

1.堆设置
设置为FullGC后存活对象总大小的1.5-2倍
2.GC收集器
选择G1,比CMS优化难度小。要避免FullGC,可以通过JVM 参数 -XX:+PrintAdaptiveSizePolicy排查
3.大对象
报错too many humongous allocations。如果消息体很大,容易导致大对象分配问题。可以通过增加堆大小和区域大小解决。
生产消息写入到磁盘这个过程,可以不经过用户程序直接写入吗?就像消费消息使用sendfile

broker端调优

http://www.lryc.cn/news/275029.html

相关文章:

  • java推荐系统:好友推荐思路
  • java: 写入数据到HBase
  • 机器学习-基于Word2vec搜狐新闻文本分类实验
  • 5.vue学习笔记(数组变化的侦测+计算属性+Class绑定)
  • Java十种经典排序算法详解与应用
  • git常用命令及概念对比
  • 57、python 环境搭建[for 计算机视觉从入门到调优项目]
  • K8S-应用访问
  • 商智C店H5性能优化实战
  • Unity 使用 Plastic 同步后,正常工程出现错误
  • 详细设计文档该怎么写
  • 集团企业OA办公协同平台建设方案
  • Spring Security之认证
  • 智能语音机器人NXCallbot
  • Vue 3中toRaw和markRaw的使用
  • 移动神器RAX3000M路由器不刷固件变身家庭云之三:外网访问家庭云
  • 基于多反应堆的高并发服务器【C/C++/Reactor】(中)线程池的启动和从线程池中取出一个反应堆实例
  • go语言gin框架的基本使用
  • TypeScript 从入门到进阶之基础篇(六) 类型(断言 、推论、别名)| 联合类型 | 交叉类型
  • Linux操作系统基础(14):文件管理-文件属性命令
  • metaSPAdes,megahit,IDBA-UB:宏基因组装软件安装与使用
  • Apache、MySQL、PHP编译安装LAMP环境
  • L1-087:机工士姆斯塔迪奥
  • 如何做一个炫酷的Github个人简介(3DContribution)
  • 基于单片机的护理床控制器设计
  • 《3D数学基础-图形和游戏开发》阅读笔记 | 3D数学基础 (学习中 1.6更新)
  • 解锁测试性能瓶颈:深度探讨JMeter分布式性能测试!
  • SiC电机控制器(逆变器)发展概况及技术方向
  • useContext
  • Java数据结构:1. 数据结构前置知识