Tôi đang thiết kế một mô đun RIA dựa trên kiến trúc MVC phía máy khách mỏng. Ngay bây giờ, Ứng dụng chỉ hoàn thành trong phạm vi 10% và do đó không quá muộn để kết hợp các thay đổi thiết kế.Làm cách nào để tối ưu hóa ứng dụng dựa trên web với độ trễ do nhiều yêu cầu không đồng bộ trong nền?
Ứng dụng được thiết kế theo cách ban đầu nó tải với một dấu chân rất nhỏ và tùy thuộc vào hành động được thực hiện bởi người dùng, khối lượng lớn dữ liệu được tìm nạp không đồng bộ. Dữ liệu này có khả năng sẽ bao gồm cả dữ liệu được lưu trữ trong máy chủ của tôi cũng như dữ liệu từ các dịch vụ web của bên thứ ba bao gồm các dịch vụ mạng xã hội và blog.
Tuy nhiên những gì tôi quan tâm là, có thể nhiều yêu cầu ajax dữ liệu nặng chạy trong nền ngăn chặn trình duyệt không? Gần đây tôi đã quan sát thấy một số vấn đề về độ trễ nghiêm trọng trong một số dịch vụ tổng hợp nội dung xã hội và khi phân tích mã phía máy khách, tôi đã ngạc nhiên rằng dấu chân ứng dụng của phía máy khách khá nhỏ, trong phạm vi 300KB. Tuy nhiên, khi chạy ứng dụng rất thường xuyên trình duyệt (cả Firefox và IE) bị treo cổ và mất vài giây để phục hồi. Sau khi phân tích các yêu cầu không đồng bộ, nó xuất hiện rằng ứng dụng đã đồng thời tìm nạp nội dung người dùng từ gmail, facebook và twitter và đẩy chúng vào DOM và đang dùng quá nhiều tài nguyên bộ nhớ.
Thật tuyệt vời nếu ai đó có thể chỉ cho tôi một số nguyên tắc/phương pháp hay nhất để ngăn chặn các vấn đề như vậy. Nó sẽ được khuyến khích để viết một kịch bản wrapper tùy chỉnh tải nội dung trong nền tuần tự trong một thứ tự được xác định trước tầm quan trọng hơn là tải tất cả song song, mà cuối cùng có thể dẫn đến một số callbacks được thực hiện song song.
Mọi lời khuyên sẽ được đánh giá cao.
Cảm ơn bạn đã có câu trả lời tuyệt vời. Ưu tiên nội dung là thứ tôi đã làm và tôi đã xem xét công nghệ COMET và đánh giá xem nó có đáng để đầu tư hay không. Tuy nhiên, mẹo của bạn về việc trì hoãn các yêu cầu cập nhật bởi các yếu tố thời gian là một yếu tố thông minh. Tôi không quen với công nghệ cổng ESI. Tôi sẽ nhìn vào nó. Mẹo IE hơi kỳ quái, nhưng tôi vẫn sẽ kiểm tra nó. Tôi thực sự đánh giá cao sự giúp đỡ của bạn. – lorefnon