2013-10-05 36 views
6

Tôi đang sử dụng CloudFront và nhiều lần tôi thấy Thời gian chờ và Thời gian nhận quá cao.Cách giảm 'Thời gian chờ' và 'Thời gian nhận' trên Tải trang

Theo tài liệu Firebug, chờ thời gian và nhận thời gian có nghĩa là:

chờ - Chờ đợi một phản hồi từ máy chủ

Tiếp nhận -/(từ bộ nhớ cache) Thời gian cần thiết để đọc toàn bộ phản ứng từ máy chủ (và/hoặc thời gian bắt buộc để đọc từ bộ nhớ cache)

Tôi không hiểu tại sao phải mất rất nhiều thời gian và những gì tôi có thể làm để giảm thời gian?

enter image description here

+0

Điều này có thể do cài đặt tra cứu ngược của Apache: http://stackoverflow.com/a/13672919 –

Trả lời

2

Có nhiều điều bạn có thể làm.

  1. Set tiêu đề thích hợp Expires, Cache-control, ETag, vv
  2. Sử dụng gzip phiên bản PED của tài sản
  3. Sprites tài khoản nếu có thể. Hợp nhất các tệp CSS của bạn thành một tệp, hợp nhất các tệp JS của bạn thành một số

Chạy trang web của bạn qua WebpageTest.org và thực hiện tất cả các đề xuất.

Chạy trang web của bạn thông qua YSlow và đi qua tất cả các khuyến nghị

+1

Hết hạn và tất cả những cài đặt khác đều được đặt. Sprites hoặc không có sprite không liên quan trực tiếp đến thời gian chờ đợi hoặc thời gian nhận! Những thời gian này có thể được với hình ảnh sprited. Ya, nhưng nó sẽ ít hơn một chút. –

+0

Tôi nghĩ đó là tất cả do CloudFront không có ở Ấn Độ. Bây giờ nó ở Ấn Độ nhưng bây giờ tôi không phát triển web. –

1

chờ

Điều này có nghĩa rằng trình duyệt đang chờ đợi máy chủ để xử lý yêu cầu và trả lại phản ứng.

Khi thời gian đó dài, điều đó thường có nghĩa là tập lệnh phía máy chủ của bạn mất nhiều thời gian để xử lý yêu cầu.

Có nhiều lý do khiến kịch bản phía máy chủ chậm, ví dụ: truy vấn cơ sở dữ liệu dài, xử lý tệp lớn, truy vấn sâu, v.v.

Để khắc phục điều đó, bạn cần tối ưu hóa tập lệnh của mình. Bên cạnh việc tối ưu hóa chính mã, một cách đơn giản là giảm thời gian thực hiện cho các yêu cầu tiếp theo là thực hiện một số loại bộ nhớ đệm phía máy chủ.

Receiving

Điều này có nghĩa là trình duyệt đang nhận được phản hồi từ máy chủ.

Khi thời gian đó dài, điều đó có nghĩa là kết nối mạng của bạn chậm hoặc dữ liệu nhận được quá lớn.

Để giảm thời gian này, do đó bạn cần cải thiện kết nối mạng và/hoặc giảm kích thước của phản hồi.

Giảm kích thước phản hồi có thể được thực hiện bằng cách nén dữ liệu đã chuyển, ví dụ: bằng cách bật gzip và/hoặc xóa các ký tự không cần thiết như khoảng trắng từ đầu ra trước khi xuất dữ liệu.Bạn cũng có thể chọn định dạng khác cho dữ liệu được trả về, nếu có thể, ví dụ: sử dụng JSON thay vì XML cho dữ liệu hoặc trả về HTML trực tiếp.

Thường là

Nói chung, hãy giảm thời gian đợi và nhận bạn có thể thực hiện một số bộ nhớ đệm phía máy khách, ví dụ: bằng cách đặt tiêu đề HTTP thích hợp như Expires, Cache-Control, v.v. Sau đó, trình duyệt sẽ chỉ thực hiện các yêu cầu khá nhỏ để kiểm tra xem có phiên bản mới của dữ liệu để tìm nạp hay không.

Bạn cũng có thể tránh hoàn toàn yêu cầu bằng cách lưu dữ liệu ở phía máy khách (ví dụ: đặt dữ liệu vào bộ nhớ cục bộ hoặc phiên) thay vì tìm nạp dữ liệu từ máy chủ mỗi lần bạn cần.

Các vấn đề liên quan