Moose là một khung đối tượng tuyệt vời. Vấn đề là, cùng với sự phụ thuộc của nó, nó là rất lớn. Hồ sơ của chúng tôi cho thấy rằng trên nền tảng của chúng tôi, chỉ cần tải Moose sẽ phải chịu phí cao hơn 5-6 giây đối với các tập lệnh ứng dụng CGI không liên tục. Điều đó không thể chấp nhận được đối với những ứng dụng một lần này.Làm cách nào để cải thiện hiệu suất của Moose trong các quy trình CGI không liên tục?
Ngược lại, khi chúng tôi đang sử dụng hệ thống xử lý liên tục (như FCGI), chi phí khởi động này bị loại bỏ (hoặc đúng hơn, chỉ phát sinh một lần) và tất cả đều tốt. Vấn đề chúng tôi có là chúng tôi không thể đảm bảo rằng tất cả mã của chúng tôi sẽ luôn chạy theo một quy trình liên tục.
Chúng tôi đã điều tra bằng cách sử dụng Mouse làm tính năng thay thế giới hạn cho Moose, nhưng hóa ra (như được đề cập trong this answer) không phải là lựa chọn khả thi. Bất kỳ thư viện nào chúng tôi viết để làm việc với Moose sẽ không hoạt động với Chuột theo những cách tinh tế nhưng quan trọng. Và chúng tôi thực sự không muốn chia tất cả các mô-đun của mình để chúng tôi có thể hỗ trợ cả Moose trong môi trường liên tục và Chuột cho "vanilla" CGI.
Cho rằng, chúng tôi có các tùy chọn sau:
- Fork trong nhà của chúng tôi module để làm việc với một trong hai Moose hoặc chuột, khi thích hợp. (Yuck!)
- Chỉ phát triển các mô-đun của chúng tôi cho FCGI/Moose. Không hỗ trợ "vanilla" CGI nữa. Nếu chúng ta phải viết các tập lệnh không liên tục, chúng sẽ không thể tận dụng các mô-đun trong nhà của chúng ta.
- Không sử dụng Moose hoặc Chuột, nhưng một số khung đối tượng khác.
Tùy chọn nào là tốt nhất? Chúng tôi đang nghiêng về phía 2 ngay bây giờ, và chúng tôi sẽ chỉ hút nó lên nếu chúng ta có để có được một cái gì đó chạy như một vanilla CGI. Làm thế nào về các khuôn khổ khác? Có điều gì nhẹ hơn chúng ta nên xem xét không?
pperl được viết bởi Matt Sergeant (baud) chứ không phải Matt Trout (mst). – perigrin
Không phải là baud viết mã chất lượng kém hơn mst ... chỉ là họ không phải là cùng một người. – perigrin
ah. thx để xóa nó. lỗi của tôi. –