Apache Airflow Orchestration at Scale
7 Tips For Optimizing Apache Flink Applications - Shopify

7 Tips For Optimizing Apache Flink Applications - Shopify

3/8/2022

What this post added

This post provides 7 tips for optimizing large stateful Apache Flink applications deployed in Kubernetes on GKE, leveraging RocksDB state backend and GCS for checkpoints. It details the use of profiling tools like Async-profiler, VisualVM, jemalloc+jeprof, and Eclipse MAT for debugging. It emphasizes avoiding Kryo serialization by fixing issues with Scala's BigDecimal and ADTs, leading to a 20% throughput increase. The post also discusses tuning Flink configurations based on workload (backfill vs. steady state), including input source partitions, back pressure, sink throttling, network buffers, and checkpointing strategies. Finally, it addresses heap profiling for Flink's File Sink, particularly with GCS, and how to resolve memory issues by analyzing heap dumps.

Read the original post ↗