2012-09-19 29 views
5

enter image description hereTiểu sử sơ lược về Qn - ASP .NET MVC + Mini-Profiler + Công cụ dành cho nhà phát triển Chrome

Hai phần được tô sáng ở trên.


1st - Mini-Profiler nói với tôi bao nhiêu thời gian thực hiện của một điều khiển/Hành động đang tiến hành (gọi tắt là thông qua ajax)

87ms


2 - Chrome Web Inspector nói tôi bao nhiêu thời gian mà cùng một yêu cầu ajax đang thực hiện để hoàn thành

535 ms


Sử dụng cái nhìn thoáng qua, tôi thấy rằng việc thực hiện các sự kiện vòng đời khác (bộ điều khiển cơ sở/bộ lọc) mất ~ 22ms.

Tìm kiếm hướng dẫn để tìm ra thời gian còn lại của thời gian.

Cảm ơn.


Sửa

này là gần như phù hợp (đúng là ~ 10 - 20 ms trong cả hai giá trị - Mini-Profiler và Chrome Inspector của).

Kết quả này là dành cho yêu cầu trực tuyến đối với máy chủ sản xuất (VPS) đang chạy IIS 7.5. Khi những con số này được đo trên một máy tính dev (localhost chạy IIS express), sự khác biệt trong kết quả Mini-Profiler và Chrome Inspector không đáng kể.

+1

điều này có nhất quán không? điều này xảy ra khi bạn chạy trực tiếp chống lại iis như trái ngược với iis express hoặc vs máy chủ web? –

+0

Đã thêm một hiệu chỉnh ... – Sameet

Trả lời

4

Vì các yêu cầu này chống lại tài nguyên trực tuyến, bạn cần tính đến độ trễ.

Ví dụ thực hiện việc này:

image

thời gian Server là chỉ đơn thuần là 118ms, tuy nhiên tra cứu dns mất 598ms, kết nối mất 205ms khác và phản ứng chỉ trở lại + 1173ms sau khi tôi đến thăm trang. Cuối cùng, DOM chỉ bắt đầu hiển thị 1,27 giây.

Các bit máy chủ chỉ chiếm thời gian trên máy chủ bên trong ứng dụng của bạn.

Bạn phải thêm vào đó.

  1. Thời gian cần để giải quyết dns.
  2. Thời gian cần thiết để kết nối (nếu không có keepalive là tại chỗ)

[thời gian chờ đợi]

  1. Thời gian cần thiết để gửi các gói tin TCP yêu cầu tài nguyên
  2. Overhead trên máy chủ web/proxy giao diện người dùng
  3. Thời gian máy chủ (số màu đỏ tươi)
  4. Thời gian cần để gói TCP đầu tiên tìm đường về cho bạn.

[/ thời gian chờ đợi]

  1. Thời gian phải mất phần còn lại của các gói dữ liệu để tìm đường trở về với bạn. (Đọc về cửa sổ tắc nghẽn TCP)
  2. Thời gian phải mất trình duyệt để phân tích những thứ nó được trở lại
  3. Thời gian phải mất nó render

(và sau đó là phụ thuộc lẫn nhau của JavaScript và CSS mà tôi sẽ không chạm vào đây)

+0

Làm cách nào để tìm ra thời gian tra cứu tên miền và kết nối cho cuộc gọi ajax của tôi? Các giá trị này không hiển thị thông qua Mini-Profiler cho cuộc gọi. – Sameet

+0

cho đến khi http://www.w3.org/TR/2011/WD-resource-timing-20110524/ nằm trong trình duyệt web, không thể nhận dữ liệu hạt mịn. bạn chỉ có thể nhận được điều đó từ dòng thời gian ruy-băng hoặc chrome, v.v. –

+0

Firebug cho tôi biết rằng Tra cứu DNS và Kết nối không mất thời gian chút nào. Tất cả thời gian là dành chờ đợi. Điều này có nghĩa rằng tất cả thời gian này là "trên dây" thời gian? Nếu nó cũng bao gồm một số "trên cao" thời gian trên máy chủ web như bạn đã đề cập, có thể có một cách để tìm hiểu chính xác nó sẽ đi đâu? – Sameet

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