ไปเจอมาจาก hackernews frontpage (ติดหน้าแรก แสดงว่ากระทู้ดี)
discussion น่าสนใจมาก
เพื่อนๆ ที่ใช้ airflow เจออะไรกันมาบ้าง มาแลกเปลี่ยนกันๆ (ส่วนตัวเริ่มมาก็ dagster เลย ไม่เคยใช้ airflow )
3 Likes
zkan
May 25, 2022, 1:40pm
2
Thread คุยกันยาวมากครับ ฮ่า ๆ ดูสนุกสนานดี เดี๋ยวไปตามอ่านต่อ กราบขอบคุณที่มาแชร์ให้อ่านครับบบ
ปัญหากวนใจหลัก ๆ เลยมีประมาณนี้
เวลาที่เราปรับ version ของ DAG (สร้าง DAG ใหม่ ลบ DAG เก่า) ตัว DAG runs มันจะ stale แล้วก็ต้องมานั่ง clean ตัว database ของ Airflow เอง (Airflow metadata)
เวลาที่มี DAG runs เยอะ ๆ หน้า Web UI ก็ช้ามาก เมื่อก่อนคือหน้า Tree View ตอนนี้เปลี่ยนเป็น Grid View แล้วในเวอร์ชั่น 2.3 ซึ่งเร็วขึ้นเยอะเลย แต่ก็ยังรู้สึกหน่วง ๆ อยู่ดี
เคยพ่น log ออก S3 แล้ว ปัญหาคือ ช้า~ กว่าจะโหลดขึ้นมาดูได้ก็ต้องใช้เวลาสักพักเล็ก ๆ และที่เจ็บปวดคือค่า cost ของ S3 นี่พุ่งเลย ตอนนี้ย้ายไปใช้ EFS แล้วสบายใจขึ้นเยอะ
อัพเกรด Airflow ที ใช้เวลา migrate ข้อมูลค่อนข้างนาน ซึ่งสืบเนื่องมาจากข้อแรกที่มันมี stale DAG runs เยอะ ล่าสุดอัพเกรดไปเวอร์ชั่น 2.3 ใช้เวลาไป 11 ชม. ได้ และ migrate แต่ละทีต้องมา clean database แบบ manual เพิ่มอีกหน่อย
ช่วงแรก ๆ มีปัญหาเรื่อง task แย่ง resource กัน ตอนนี้จับแบ่งใส่ Airflow pool ไป ช่วยได้เยอะ
เนื่องด้วย DAG มีจำนวนเพิ่มมากขึ้น (task ก็เพิ่มขึ้นด้วย) ถ้า database เรามีเครื่องที่ไม่แรงพอ จะเจอปัญหา task ค้างบ่อยมาก เพราะแย่งกันไปอัพเดท status กัน นี่เพิ่งอัพเกรด spec ไป ก็แก้ปัญหาได้ (เดาว่าปัญหานี้ workflow orchestration อื่นก็น่าจะเจอ)
ตอนนี้นึกได้ประมาณนี้ครับ อิอิ
3 Likes
ที่เคยเจอมาคล้ายพี่กานต์ค่ะ
เจอเรื่อง task ค้างเหมือนกันค่ะ เวลามี task จำนวนมาก แถมใช้ไปนานๆ CPU usage จะเพิ่มตาม Airflow DB ที่บวมขึ้น อาจจะต้องเข้าไปอัปสเปคบ้าง นานๆ ที ส่วน UI ก็ช้าอยู่แล้ว เคสนั้น 55555
หา log ใน job ไม่เจอ ถ้า cluster มี task จำนวนมาก หายไปไหนหว่า (อันนี้เหมือน cloud composer ก็เป็นเหมือนกัน ขนาด mount log กับ GCS แล้ว)
ปัญหา task แย่ง resource จนบาง task ไม่ได้รัน แก้ด้วย แยก airflow instance ไปเลยค่ะ 55555555 แบ่งกันชัด ๆ เพราะตัวที่มาแย่งใน use case นี้ จะเป็น flow adhoc หรือตัวที่รันด้วย frequency น้อยกว่า เช่น เดือนละครั้ง สัปดาห์ละครั้ง
1 Like