2015-10-16 21 views
8

Sau khi nâng cấp từ VS2013 lên VS2015, tôi đã bị sốc khi ứng dụng web chạy chậm với trình gỡ lỗi được đính kèm. Vì vậy, tôi quyết định làm một so sánh giữa VS2013 và VS2015 sử dụng MiniProfiler để phân tích một trang đặc biệt chậm:Trình gỡ rối Visual Studio 2015 - tác động hiệu suất cao trên SqlCommand

Comparison in Mini Profiler Điều thú vị là khi gỡ lỗi sử dụng VS2013, tải trang nhanh hơn dưới IIS sau đó IIS Express. Nhưng khi gỡ lỗi trong VS2015, IIS là cách chậm hơn sau đó IIS Express.

Ngoài ra, MiniProfiler cho biết rằng tỷ lệ thời gian cao được sử dụng trong mã có liên quan đến SQL. Vì vậy, tôi cố gắng sử dụng dotTrace đến trang tiểu sử trên IIS - một lần với trình gỡ lỗi VS2015 đính kèm, và một lần mà không có nó kèm theo:

dotTrace comparison

Dường như khi gỡ lỗi trong VS2015, một tỷ lệ rất cao thời gian CPU (thời gian thực) được sử dụng trên SqlCommand.ExecuteReader() trong khi với trình gỡ lỗi không được đính kèm, phương thức đó khá hiệu quả.

Tôi cũng đã thử nghiệm điều này trên một máy tính khác có cùng kết quả.

ứng dụng của tôi sử dụng ASP.NET MVC, NHibernate, SQL Server 2014, và tôi đang sử dụng IIS 10

Có ai khác có kinh nghiệm hiệu suất ứng dụng chậm với trình gỡ lỗi VS2015 đính kèm, đặc biệt là khi chạy các lệnh SQL? Bất kỳ ý tưởng nào là nguyên nhân gốc rễ và cách giải quyết nó?

+0

Nếu bạn cấu hình với theo dõi cuộc gọi chức năng, cuộc gọi có được tính giống nhau không? Các ngăn xếp cuộc gọi trong profiler nhìn hơi khác nhau (gỡ lỗi có ExecuteFinish và AddAll nơi không gỡ lỗi không). Tôi tự hỏi liệu NH có đang làm nhiều thứ hay những thứ khác vì một lý do nào đó không? –

+0

Tôi muốn đặt cược chẩn đoán vào năm 2015, bao gồm cả máy ghi sự kiện (có thể là đầy đủ các câu lệnh sql, tôi cược) có thể là do bạn làm hỏng. http://i.stack.imgur.com/QWV4V.png Go repro và kiểm tra xem nó ra. Xem bạn có thể vô hiệu hóa tính năng này hay không và lợi ích hiệu suất nào bạn nhận được từ việc này. – Will

+1

@Will Chỉ cần thử tắt chẩn đoán và không có sự khác biệt. – jonh

Trả lời

0

Trong trường hợp của tôi nó đã thực sự là chẩn đoán với rất nhiều hoạt động chèn ado.net lựa chọn duy nhất là để vô hiệu hóa các chẩn đoán trong vs2015

Trong Viual Studio 2017 rc, nó giống như

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