2016年6月19日 星期日

NanoProfiler 對於資料庫存取的監控 - Entity Framework

之前連著兩篇介紹了 NanoProfiler.Data 在 ADO.NET 與 Dapper 的專案裡的使用情境與安裝說明,而這一篇就接著介紹專案使用 Entity Framework 與 NanoProfiler 的說明。

 


之前的兩篇文章連結如下:
NanoProfiler 對於資料庫存取的監控 - ADO.NET
NanoProfiler 對於資料庫存取的監控 - Dapper

 

專案的資料存取如果是使用 Entity Framework 6 的話,要如何使用 NanoProfiler 做效能監控呢?

其實還蠻簡單的,所以這一篇將會相當的簡短,所以先來看一下 Sample.Repository.EF 的專案內容,

image

其實這一次並不會對 Sample.Repository.EF 做任何的異動,也不需要在這專案裡用 NuGet 去加入 NanoProfiler.Data,而是要在 WebApi 專案裡去加入「NanoProfiler.EF」這個 Package,

image

安裝好之後,再開啟 WebApi 專案裡的 Global.asax,然後在 Application_Start() 方法裡加入以下的程式,

// initialize entity framework 6 profiling
EFProfilingBootstrapper.Initialize();

image

最後執行 WebApi 專案,執行幾次的 Api 之後,開啟 NanoProfiler Profiling Results 頁面,

image

image

image

image

image

 


是的,這一篇就這樣結束了,很簡單,不需要額外去對資料存取的方法修改程式,不過這是對於資料存取的程式不需要再去做加工或是修改,就能夠藉由 NanoProfiler.EF 去監控到 Entity Framework 的資料存取的性能與執行內容。但如果在 Repository 程式裡有再去做特別的處理或是我們自己有多加了一些特定需求的程式,那麼這部分程式的性能監控就無法透過 NanoProfiler.EF 捕捉到訊息了。

反正你要監控或是捕捉到什麼程度或內容,就要動手去修改程式,沒有那種簡單就可以完成一堆事情的套件或工具(有的話也是需要花錢去買的)。

 

參考資料

8. How to enable profiling for EntityFramework? · ef-labs/nanoprofiler Wiki

 

相關文章

使用 NanoProfiler 對 ASP.NET Web API 進行性能監控

NanoProfiler 對於資料庫存取的監控 - ADO.NET

NanoProfiler 對於資料庫存取的監控 - Dapper

 

以上

沒有留言:

張貼留言

提醒

千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。