Tôi đã hỏi this question một vài tuần trước. Hôm nay tôi đã thực sự viết và phát hành một ứng dụng Django chuẩn, tức là một DB đầy đủ chức năng quan hệ hậu thuẫn (và do đó đầy đủ chức năng Django admin) được kích hoạt bởi Google CloudSQL. Thời gian duy nhất tôi đã phải đi chệch khỏi những điều theo cách Django tiêu chuẩn là để gửi email (đã phải làm điều đó theo cách GAE). Thiết lập của tôi là GAE 1.6.4
, Python2.7
, Django 1.3
bằng cách sử dụng sau đây trong app.yaml
:Django trên GoogleAppEngine: hiệu suất howto
libraries:
- name: django
version: "1.3"
Tuy nhiên tôi không cần bạn gợi ý bước hành động rõ ràng để cải thiện với thời gian đáp ứng được yêu cầu ban đầu khi lạnh của ứng dụng Django này. Tôi có một trang web đơn giản là webapp2
trên GAE, mà không không nhấn DB và khi lạnh thời gian phản hồi là 1.56s
. Một Django, khi lạnh, truy cập DB với 2 truy vấn (hai count(*)
truy vấn trên các bảng có chứa ít hơn 300 hàng mỗi) và thời gian phản hồi là 10.73s
! Không khuyến khích cho trang chủ;)
Những điều cần lưu ý là xóa các lớp học middleware
tôi không cần và các tối ưu hóa cụ thể khác của Django. Tuy nhiên các mẹo cải thiện mọi thứ cũng từ quan điểm GAE sẽ thực sự hữu ích.
N.B. Tôi không muốn điều này trở thành một cuộc thảo luận về giá trị của việc đi Django trên GAE. Tôi có thể đề cập rằng chuyên môn Django cá nhân của tôi, và kết quả năng suất phát triển, đã chịu đáng kể trong việc áp dụng Django như trái ngược với các khuôn khổ khác. Hơn nữa với CloudSQL, thật dễ dàng để di chuyển khỏi GAE (hy vọng là không!) Vì mã Django sẽ hoạt động ở mọi nơi khác với các sửa đổi nhỏ (hoặc không). Các cuộc thảo luận liên quan về chủ đề như vậy có thể được tìm thấy here và here.
Thời gian phản hồi của trang chủ khi ứng dụng được làm ấm là gì? –
Bạn đã định dạng gì? – DrTyrsa
@DanielRoseman Nó trung bình khoảng nhãn 200ms, rất tuyệt vời. –