Warming up the Puma master before it forks
Basecamp 5 gặp vấn đề về hàng chờ request sau khi triển khai. Nguyên nhân kỹ thuật là các signed-in request phải xử lý qua Rails app trong Puma master trước khi fork worker. Giải pháp này giúp giảm 80% hàng chờ request bằng cách xử lý một số request ngay trong master process trước khi tạo worker. Hệ quả là trải nghiệm người dùng cải thiện đáng kể sau deployment với thời gian phản hồi giảm mạnh. Điều đáng học là việc tối ưu xử lý request ngay ở master process có thể giải quyết hiệu quả tình trạng quá tải mà không cần tăng số lượng worker.
Bài viết này giúp lập trình viên giảm đáng kể hàng đợi yêu cầu sau triển khai bằng cách chạy yêu cầu đã đăng nhập qua ứng dụng Rails trong tiến trình Puma master trước khi tạo tiến trình worker.
