webflux + kakfa + redis + protostuff 高并发/吞吐量数据采集方案

  1. 在虚拟机 8c32g ,一个tomcat 实现400~500 的并发, 3000QPS 已经快是极限, 由于是阻塞式编程, 导致响应时长的的均值和最值差距相当的大. 通过webflux 可以增加并发量, 同时吞吐量有所改善.

下面是通过jvm 调优后, 不同的web架构的压力测试图.
机器: 内网下 8c32g虚拟机 , 1台压测机器, 1台服务. 属于直连压测, 未经过网关.
下面是压测结果.


image.png
  1. webflux 的吞吐量 高于传统servlet 的同步io,大约在 %10~15的效果
  2. webflux 的耗时相对于传统servlet更加均匀
  3. 耗时改善不少.

总体来说, 全异步的webflux 确实比传统的servlet 要优秀不少.

jvm 调优参数相关 使用g1垃圾垃圾回收,比较激进. 对于webflux 来说效果优化特别好.

--server.port=8081 -Xms8g -Xmx8g -Xmn4g -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m -Xloggc:/dev/shm/mq_gc_%mxs.log
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容