1,不要使用长list,是在业务需求,可以使用数组好一些
2,下图是3个并发变成2个并发,建议少用
3,clear不能完全清空,下面是完整的方法。
打开监控的对性能有损耗:
配置TTL,自动清理过期state:
RawState 一般在timer里面用的多,其余地方用不到:
如果Job遇到taskManager连接不上,大量GC,或者是代码里面有大量的window的话,要考虑将timer存入RocksDB里面。
过多的state,会导致内存不够用或者作业不稳定等情况。
数据量大的话 3-5分钟比较好,不建议设置为秒级别。
如果遇到超时,设置超时时间大一些
会增加cpu开销,不过是异步执行的。
默认的窗口算子会自动帮我们清理state!window也是有state的,只不过每次执行完之后之后框架帮我们自动清理了。