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

平台推广网站排名qq邮箱登录

平台推广网站排名,qq邮箱登录,苏州公司排名,分享经济网站怎么建设冲突 在看到项目工程里kafka 生产端配置的batch.size为500#xff0c;而实际业务数据平均有1K大小的时候#xff1b;我有点懵了。是的#xff0c;这里矛盾了#xff1b;莫非之前的作者认为这个batch.size是发送的条数#xff0c;而不是kafka生产端内存缓存记录的大小而实际业务数据平均有1K大小的时候我有点懵了。是的这里矛盾了莫非之前的作者认为这个batch.size是发送的条数而不是kafka生产端内存缓存记录的大小 实际业务数据有1K大小那么正式环境的生产端岂不是没有用到kafka缓存池带来的好处。 最近也正在了解并解读kafka生产端源码被kafka的设计所折服时恼人的现实和美好的理论存在巨大的矛盾 引起了我的怀疑和推测。怎么办先和技术领导沟通下吧。 在请教过技术领导为什么这里设置为500时获得了一个非预期的回答“这个项目已经稳定运行5年了也没什么问题呀” 想必大家也遇到过类似的情况吧~~ 想要说服领导更改这个不是最优的设置需要拿出更多的证据。如何去做了 求证之路 为了验证batch.size 为500不是最优的其实是为了验证kafka发送端用缓存池还是不用缓存池的区别。写了两个对比不超过10行代码的kafka生产端代码。 第一个case是发送固定100W消息量。对比batch 500B 和16K 两者的耗时GC次数GC耗时等的对比 第二个case是在固定时间内。对比batch 500B和16K两者发送消息量GC次数GC耗时等的对比 当然msg大小为业务大小固定1KB。 具体代码如下 case1 发送固定100W消息量耗时GC等信息对比 java 发送端代码 long begin System.currentTimeMillis(); for(int j1000;j0;j--){for(int i0;i1000;i){kafkaProducerTest.send(topic,msg);}kafkaProducerTest.flush();//每发送1000次sleep 500毫秒try {Thread.sleep(500);} catch (InterruptedException e) {throw new RuntimeException(e);} } long end System.currentTimeMillis(); log.info(cast time: (end-begin));监控工具 jstat 使用了JVM 原生的GC 监控工具对GC次数和耗时进行监控 命令如下 jstat -gcutil pid 1000输出主要是看YGCYGCTFGCFGCTGCT 统计结果 为了减小误差每个batch.size都测试了两遍取平均值做为底数。 从统计结果可看到 使用了缓存池比不使用耗时减少了64.51%。这里减了500*1000是为了减少sleep(500)的影响吞吐量也就提高了一倍使用了缓存池比不使用GC次数降低了27%GC耗时减少了39% 数据还蛮符合事先猜测吞吐量GC次数GC耗时在使用了缓存池后都比不使用要优异 case2 持续3分钟两者发送消息量的统计GC等信息统计 java代码 long maxTime 3 * 60 * 1000l;while (true){for(int i0;i1000;i){kafkaProducerTest.send(topic,msg);}count ;kafkaProducerTest.flush();//发送1000条sleep 10毫秒try {Thread.sleep(10);} catch (InterruptedException e) {throw new RuntimeException(e);}//只跑maxTimeif(System.currentTimeMillis() - begin maxTime){break;} } log.info(count: count);统计结果 从统计结果可看到 使用了缓存池比不使用缓冲池消息发送量提高了78%。即在相同时间内使用缓冲池能提高1倍以上的吞吐量使用了缓存池比不使用缓冲池GC次数大概提高了27%而GC耗时基本相同。 总结 从上面的统计来看如果想要提高发送消息吞吐量请尽量使用缓存池。你的项目中真的使用了缓存池吗 曾经解读过kafka生产端内存模型的设计以及由kafka内存池模型设计联想到多年前初学java时的认知。始终感觉有点偏向理论这篇算出一个对之前理论性设计的论证实际实践后的数据证据吧。如果要用一句话来总结这次的感悟和行动想借用陆游的一句大家都很熟悉的绝句来描述纸上得来终觉浅,绝知此事要躬行。 参考资料: https://blog.csdn.net/chenhcao628/article/details/108038172 《jstat -gcuti命令分析 》 https://juejin.cn/post/7259300929026916409 《读kafka生产端源码窥kafka设计之道下》 https://juejin.cn/post/7259300929026916409 《java内存管理 美好的期望与现实的残酷》 《深入理解Kafka核心设计与实践原理》 《kafka源码》
http://www.hkea.cn/news/14471097/

相关文章:

  • 用电脑做服务器搭建php网站做网站投资太大 网站也没搞起来
  • 手机网站图片切换jquery网站开发 数据库对比
  • 有关网站建设的书中山顺德网站建设
  • 手机能建网站不秦皇岛昌黎县建设局网站
  • 北京 高端网站定制微信公众号推广创意语
  • php网站建设价格深圳html5网站推广价格
  • 请人做网站花多少钱建网站的软件有哪些
  • 做网站不给源码wordpress博客漏洞
  • 程序做网站好还是app好牙医工具网站建设课程设计报告
  • 增城定制型网站建设如此查询网站名字是否注册
  • 泰安市建设职工培训中心网站进不去互联网企业解决方案
  • 北京网站推广哈尔滨如何快速建站
  • 特色网站建设电子商务网站建设实习报告
  • 家具营销型网站模板做外汇交易的浏览什么网站
  • 网站规划是什么意思哔哩哔哩在线看免费观看视频
  • 昆明做网站推国外h5制作网站
  • 云南做网站需要多少钱软件定制是什么意思
  • 网站管理后台登录地址雄安专业网站建设哪家好
  • ps个人网站制作流程南京网站制作开发
  • 官方新闻平台有哪些宝应百度seo
  • 怎样建设一个内部网站泰州seo网络推广
  • 网站开发需要用例图吗南通seo
  • 南阳网站优化渠道哪个网站做外链视频好
  • 手把手教建设网站网站建设网易
  • 360提示的危险网站品牌策划书模板
  • 做网站外国的服务器浏阳市住房和城乡建设局的网站
  • 滁州网站建设价格教育网站开发用例图
  • 西安seo王网站建设关键词优化价格
  • 中国网站建设利用云服务器做网站
  • 大良网站制作公司crm管理系统开发语言