[汇总]Kafka经验
不明觉厉!线上部署Kafka和ES,为啥JVM堆内存分配越大,性能反而越低?
kafka、elasticsearch等系统,线上生产环境部署时,是依赖os cache来缓冲大量数据的。假如你有一台机器,32GB的内存,你如果在搞不清状况的情况下,傻傻的认为还是给JVM分配越大内存越好,比如给了16G的堆内存空间给JVM。那么这样分配下来,os cache剩下的内存,可能就不到10GB了,因为本身其他的程序还要占用几个GB的内存。
我的观点是:不建议用户使用 Kafka Streams,因为其缺少检查点机制,也不具备随机排序等功能,而 KSQL 以 Kafka Streams 为基础,因此其同样继承了后者所固有的不少问题。