2012-11-04 6 views
5
  1. Tôi tin rằng mvc mini profiler lưu trữ tất cả thời gian phản hồi trong bộ nhớ cache HttpRuntime.
    Vui lòng cho tôi biết nếu tôi sai nhưng nếu trường hợp đó xảy ra thì giới hạn tối đa cho bộ nhớ cache này là gì? Làm thế nào nhiều hoạt động có thể nó hồ sơ trước khi bộ nhớ cache đầy? Chúng tôi đang sử dụng trình biên dịch nhỏ cho các hoạt động lược tả của một bộ thử nghiệm và bộ thử nghiệm sẽ phát triển theo thời gian để tôi lo lắng về điều này. Tôi có nên quan tâm không?Giới hạn lưu trữ bộ nhớ cache HttpRuntime trong mvc mini profiler

  2. Trên ghi chú có liên quan. Khi tất cả các bài kiểm tra đã được lược tả, tôi chỉ cần gọi phương thức Save trong lớp SqlServerStorage của trình thu nhỏ. Và tất cả thời gian phản hồi được lưu vào cơ sở dữ liệu máy chủ SQL. Có cách nào tôi có thể gọi phương thức Save thường xuyên hơn mà không cần khởi động và dừng profiler một lần nữa và một lần nữa? Chúng ta chỉ bắt đầu nó ở phần đầu của bộ kiểm thử và kết thúc nó khi tất cả các bài kiểm tra đã được lược tả. Chúng tôi xem xét một mục nhập vào bảng MiniProfilers dưới dạng một phiên lược tả. Ngay bây giờ tôi không thể gọi phương thức 'Lưu' nhiều hơn một lần vì nó cần một số MiniProfilerId mới mỗi khi nó được gọi.

Mọi đề xuất?

+0

Xin chào các bạn! Bất kỳ đầu vào nào trong câu hỏi bộ nhớ cache? Cảm ơn! –

+0

Bất kỳ đầu vào nào? –

+0

Chúng ta có thể trả lời câu hỏi này không? :) –

Trả lời

1

Tôi không trực tiếp quen thuộc với trình thu nhỏ nhưng tôi có khá nhiều kinh nghiệm với bộ nhớ cache. Thuộc tính HttpRuntime.Cache cung cấp một tham chiếu đến lớp System.Web.Caching.Cache. Đó là một thực hiện của bộ nhớ cache đối tượng. Nói chung sử dụng bộ nhớ cache này là tĩnh, vì vậy chỉ có một ví dụ. Bạn có thể định cấu hình hành vi của Bộ nhớ cache này bằng cách sử dụng tệp Web.Config. Một số điều cần lưu ý về bộ đệm cửa sổ, bạn sẽ không bao giờ bị lỗi bộ nhớ khi sử dụng nó. Bộ nhớ cache có một tỷ lệ phần trăm giá trị bộ nhớ cho biết mức độ đầy đủ của nó. Khi nó đạt gần phần trăm sử dụng bộ nhớ hàng đầu đó, nó sẽ bắt đầu tách các đối tượng ra khỏi bộ nhớ cache bắt đầu với các đối tượng được chạm lâu đời nhất. Vì vậy, câu trả lời ngắn cho câu hỏi đầu tiên của bạn là không, đừng lo lắng về giới hạn bộ nhớ, một trong những điểm bán hàng chính của ngôn ngữ được quản lý là bạn không bao giờ phải lo lắng về mức tiêu thụ bộ nhớ, hãy để khuôn khổ xử lý nó.

Đối với # 2 tôi sẽ không lo lắng về điều đó. Bộ nhớ cache có thể vứt bỏ đối tượng phản hồi nhưng tôi sẽ mạo hiểm đoán rằng nó đã được bao gồm trong tập hợp kết quả từ profilier, vì vậy bạn thực sự không cần bản thân đối tượng yêu cầu ban đầu trừ khi bạn muốn kiểm tra sâu nó.

Câu chuyện dài ngắn, tôi sẽ không lo lắng về điều này nữa trừ khi bạn nhấn một vấn đề thực sự. Hãy để bộ nhớ cache thực hiện công việc của mình và tin tưởng các kỹ sư đã xây dựng nó biết họ đang làm gì cho đến khi bạn có bằng chứng khác.

+0

Ya Tôi nghĩ bạn nói đúng. Hãy nhấn một vấn đề thực sự đầu tiên và sau đó giải quyết vấn đề ở bàn tay. Cảm ơn vi đa trả lơi. –