2012-01-29 16 views
6

Đưa ra biểu đồ ở đây, tôi nên xem xét điều gì để xác định nút cổ chai? Như bạn có thể thấy, các yêu cầu trung bình gần 14 giây khi tải và phần lớn thời gian đó được quy cho CLR trong dữ liệu lược tả của Relic mới. Trong bảng phân tích hiệu suất cho một trang cụ thể, nó phân bổ phần lớn thời gian tới trang WebTransaction/.aspx.Bộ đếm nước hoa nào hữu ích cho việc xác định tắc nghẽn ASP.NET?

stats captured by new relic during load test

stats for a page

+0

có thể là sự chậm trễ để đọc từ cơ sở dữ liệu với khóa phiên standar trên các trang đã thực hiện sự chậm trễ này. Khi tôi thấy màu cam cũng lên. – Aristos

+0

@Aristos bạn có thể xây dựng trên ý nghĩa của bạn bằng "khóa phiên tiêu chuẩn" không? – RyanW

+0

Ý tôi là: http://stackoverflow.com/questions/8989648/replacing-asp-nets-session-entirely khi bạn sử dụng phiên trên một trang, khóa này sẽ khóa tất cả các trang cho đến khi trang này kết thúc xử lý vì dữ liệu phiên. – Aristos

Trả lời

3

Tôi thấy rằng cơ sở dữ liệu được readed cũng (màu cam) và đây là vỉa rằng một trong tất cả các trang có trì hoãn phần còn lại của trang vì khóa phiên thực hiện trên các trang.

bạn có thể đọc thêm: Replacing ASP.Net's session entirely

Đề nghị của tôi là hoàn toàn loại bỏ các cuộc gọi phiên và nếu điều này là không thể, tìm một cách khác để lưu chúng ở đâu đó trong cơ sở dữ liệu bằng cách tự của bạn.

Thực tế trong các trang của tôi, tôi đã thực hiện cả ba tùy chọn có thể. 1. Tôi gọi trang với phiên làm việc. 2 Tôi đã thực hiện phiên tùy chỉnh hoàn toàn là các giá trị được kết nối với cookie của người dùng và cuối cùng tôi đã tạo các chuỗi được chạy khỏi phiên và thực hiện các phép tính trên nền, khi kết thúc tôi hiển thị kết quả.

Trong một số trường hợp, các tính toán được thực hiện trên iframe gọi trang không có phiên và sau đó tôi hiển thị kết quả.

1

Trong phiên bản Pro, bạn có thể sử dụng Giao dịch theo dõi, giúp xác định chính xác nơi xảy ra sự cố.

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