2015-02-18 22 views
64

Tôi có một truy vấn liên quan đến việc nhận danh sách người dùng từ một bảng theo thứ tự được sắp xếp dựa trên thời gian được tạo. Tôi đã nhận được biểu đồ thời gian sau từ các công cụ dành cho nhà phát triển Chrome.Làm cách nào để giảm thời gian chờ (ttfb)

timing from the chrome

Bạn có thể thấy rằng TTFB (thời gian để byte đầu tiên) là quá cao.
Tôi không chắc liệu đó có phải là do sắp xếp SQL hay không. Nếu đó là lý do thì làm thế nào tôi có thể giảm thời gian này?
Hoặc là do TTFB. Tôi thấy các blog nói rằng TTFB nên ít hơn (< 1 giây). Nhưng đối với tôi, nó hiển thị> 1 giây. Có phải vì truy vấn của tôi hay cái gì khác?
Tôi không chắc chắn làm cách nào để giảm thời gian này.
Tôi đang sử dụng góc cạnh. Tôi có nên sử dụng góc để sắp xếp bảng thay vì sắp xếp SQL không? (nhiều bài viết nói rằng đó không phải là vấn đề)
Điều tôi muốn biết là làm cách nào để giảm TTFB. Guys! Tôi thực sự mới với điều này. Đó là nhiệm vụ được các thành viên trong nhóm trao cho tôi. Tôi không chắc làm thế nào tôi có thể giảm thời gian TTFB. Tôi đã thấy nhiều bài đăng nhưng không thể hiểu đúng. TTFB là gì. Đó có phải là thời gian do máy chủ thực hiện không?

+5

Câu hỏi của bạn cho thấy sự thiếu hiểu biết về những gì đang xảy ra ở đây. Đây là thời gian chờ đợi cho máy chủ, vì vậy cho dù bạn sử dụng AngularJS hoặc một số khung khác là không liên quan. Nếu bạn muốn cải thiện mã phía máy chủ, bạn thực sự phải hiển thị mã cho chúng tôi. – dirkk

Trả lời

5

TTFB là điều xảy ra đằng sau hậu trường. Trình duyệt của bạn không biết gì về những gì xảy ra đằng sau hậu trường.

Bạn cần phải xem xét các truy vấn nào đang được chạy và cách trang web kết nối với máy chủ.

This bài viết có thể giúp hiểu TTFB, nhưng nếu không bạn cần phải tìm hiểu sâu hơn về ứng dụng của mình.

67

TTFB không phải là thời gian để byte đầu tiên của nội dung phản hồi (ví dụ: dữ liệu hữu ích, chẳng hạn như: json, xml, v.v.), mà là thời gian để byte đầu tiên của phản hồi nhận được từ máy chủ. Byte này là bắt đầu của các tiêu đề phản hồi.

Ví dụ: nếu máy chủ gửi tiêu đề trước khi thực hiện công việc khó (như SQL nặng), bạn sẽ nhận được TTFB rất thấp, nhưng không phải là "đúng".

Trong trường hợp của bạn, TTFB thể hiện thời gian bạn xử lý dữ liệu trên máy chủ.

Để giảm TTFB, bạn cần thực hiện công việc phía máy chủ nhanh hơn.

+2

Để chẩn đoán thêm thời gian xảy ra trong TTFB, bạn có thể sử dụng phương pháp tính thời gian phía máy chủ (ví dụ: bộ hẹn giờ thiết lập hoặc nhật ký gỡ lỗi) để gỡ lỗi thời gian dành cho mỗi logic. – Raptor

+1

Hãy xem bài viết này, nó giải thích chi tiết vấn đề và đưa ra lời khuyên cho các giải pháp khả thi: http://www.websiteoptimization.com/speed/tweak/time-to-first-byte/ – LucaM

+0

Hãy coi chừng điều trị TTFB như điểm quan trọng nhất: https://blog.cloudflare.com/ttfb-time-to-first-byte-considered-meaningles/ –

3

tôi sẽ đề nghị bạn đọc này article và tập trung hơn vào làm thế nào để tối ưu hóa các phản ứng tổng thể để yêu cầu người sử dụng (hoặc một trang, một kết quả tìm kiếm, vv)

Một lập luận tốt cho điều này là ví dụ họ cho về việc sử dụng gzip để nén trang. Mặc dù ttfb nhanh hơn khi bạn không nén, nhưng trải nghiệm tổng thể của người dùng là tồi tệ nhất vì mất nhiều thời gian hơn để tải xuống nội dung không được nén.

2

Nếu bạn đang sử dụng PHP, hãy thử sử dụng <?php flush(); ?> sau </head> và trước </body> hoặc những gì bạn muốn xuất nhanh (như tiêu đề hoặc nội dung). Nó sẽ xuất ra mã thực sự mà không cần chờ đợi để kết thúc php. Không sử dụng chức năng này mọi lúc, hoặc tăng tốc sẽ không đáng chú ý.

More info

Xin lỗi tiếng anh xấu của tôi, hy vọng tôi đã giúp bạn.

2

Tôi đã gặp cùng một vấn đề. Dự án của tôi đang chạy trên máy chủ cục bộ. Tôi kiểm tra mã php của mình.

$ db = mysqli_connect ('localhost', 'root', 'root', 'smart');

Tôi sử dụng "localhost" để kết nối db.Điều đó có thể gây ra sự cố mà bạn mô tả. Bạn có thể sửa đổi tệp HOSTS của mình. Thêm "127.0.0.1 localhost".

+1

Thankyou. Tôi đã thay đổi 'localhost' (TTFB: 1s) thành' 127.0.0.1' (TTFB: 12ms) –

+0

Trong trường hợp của tôi, câu trả lời này cũng đã giúp: TTFB 2,39 s -> TTFB 110 ms. Tại sao một người nào đó downvote nó? –

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