การแก้ปัญหา traffic พุ่งไปหลังบ้านเมื่อลบแคชของ nginx

บางคนเคยเจอปัญหาใช้ nginx มาทำ proxy ให้ WordPress แล้วมีประเด็นตอนลบ cache ทิ้งแล้ว traffic พุ่งไปเว็บหลังบ้าน จากนั้นได้ error 50x กลับมาทำให้ฝั่ง nginx ไม่แคชให้ ที่เหลือต่อมาคือ
1) web หลังบ้านตายสนิท
2) nginx หน้าบ้านได้ 50x กลับมาและจ่าย error_page กลับไปให้ผู้ใช้

ภาพที่ 1) การทำงานของ nginx cache

สาเหตุ

ทั้งหมดนี้เกิดจากสิ่งเดียวครับ คือ คอนฟิกผิดนั่นเอง
ถ้าเราคอนฟิกโดยระบุ proxy_cache_lock on;
กับระบุ proxy_cache_use_stale updating;
ก็จะไม่เจอปัญหาดังกล่าว ไม่ต้องเสียเวลาทำ Landing Page ด้วย
ส่วน caching file ก็ไม่ต้องไปลบ
ตั้ง proxy_cache_valid 200 1s; ก็ยังได้
เราเรียกสิ่งนี้ว่าเป็นการทำ microcaching
บทความที่หน้า official site ก็มี
https://www.nginx.com/blog/benefits-of-microcaching-nginx/