2011-02-07 29 views
6

Tôi hiện đang tải thử nghiệm một ứng dụng ASP.NET. Tôi đang sạc với 500 người dùng trên ứng dụng, và trong khi đang chạy, tôi đang kiểm tra, trong bảng điều khiển perfmon.exe, bộ đếm "Phiên hoạt động" và "Phiên đã hết giờ" trên máy chủ web.Số lượt truy cập ASP.NET "Sessions Timed Out" (perfmon.exe)

Trong web.config, thời gian chờ của phiên là 3 phút (cho mục đích của bài kiểm tra).

Vì vậy, khi thử nghiệm đi, bộ đếm "Phiên hoạt động" vẫn ở trên khoảng 900 phiên hoạt động mà tôi giả định là bình thường vì 500 người dùng hoạt động và khoảng 400 người khác có phiên chưa hết giờ.

Nhưng khi tôi nhìn vào bộ đếm "Thời gian chờ của phiên", nó tăng lên một cách đáng kể. Nó chỉ giảm dần khi kiểm tra tải kết thúc.

Bộ đếm này chính xác là gì? Như tôi đã hiểu, đó là các phiên không được sử dụng mà chưa được dọn sạch (bởi bộ thu gom rác?) Và vẫn đang sử dụng bộ nhớ.

Vì ứng dụng của chúng tôi đang sử dụng lớn toàn bộ bộ nhớ, tôi đang cố gắng tìm chính xác trong đó là bộ nhớ đó.

Trả lời

1

Bộ đếm có vẻ như đang cho biết điều gì đang xảy ra. tức là Khi các phiên hoạt động khởi động, bộ đếm cho hoạt động đi đúng số .. và tại một thời điểm nào đó chúng bắt đầu chết và chúng kích hoạt thời gian phiên tăng (tức là các phiên bị loại bỏ bởi ASP Cơ sở hạ tầng .NET). Tôi không chắc chắn những gì bạn đang mong đợi để xem. Tôi khuyên bạn nên đọc các chương, 15, 1617 trong số Improving .NET Application Performance and Scalability cuốn sách. Họ khá ngộ nghĩnh về vấn đề này.

+0

Tôi thực tế, những gì tôi thực sự cần biết, là nếu các phiên hết thời gian này vẫn đang sử dụng bộ nhớ. Cảm ơn bạn đã liên kết, tôi sẽ kiểm tra nó ngay hôm nay. – Johnny5

+0

Vâng, sau khi kiểm tra một số chi tiết, bộ đếm thời gian này không giảm xuống cho đến khi hồ bơi ứng dụng được khởi động lại (như iisreset) [br] Nhưng vẫn có vẻ như phiên hết hạn không được dọn sạch (bộ nhớ không được giải phóng) cho đến khi loadtest của tôi kết thúc. – Johnny5

+0

Bạn có nội dung RCW nào đang chạy trong phiên không? ví dụ: Bạn có bất kỳ đối tượng COM cũ nào đang được truy cập và lưu trữ trong phiên không? Tôi đã thấy chúng khiến tải ở mức cao. Nó cũng cảm thấy như bạn có thể muốn nhìn vào quầy khác để tìm ra những điều cụ thể đó là ăn bộ nhớ. Tôi đã sử dụng các chương mà tôi đã đề cập ở trên để cung cấp cho tôi gợi ý về nơi nó đang được tổ chức. Cụ thể, các quầy GC có sự trợ giúp tuyệt vời (gen0, gen1 và gen2). – gbvb

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