[效能調教] 善用快取提高效能 - 建立 MemoryCache 共用模組

快取機制主要就是用「記憶體空間」來換取「資料查詢時間」,並且潛藏著資料時效性問題,因此開發人員需在天秤兩端讓「效能」及「資料即時性」達到完美的平衡,才可以將快取效果發揮到極致;本文先針對快取共用模組進行設計,後續會在此基礎上實踐不同情境下快取的使用方式。

...繼續閱讀 »

[效能調教] 建立非同步射後不理 LOG 寫入機制

面對大量且重要性低的 LOG 紀錄需求(如:統計功能使用量),可以考慮套用非同步射後不理機制來節省 Web API 被占用的時間,把資源留給其他更重要的項目;文末並針對 SynchronizationContext 議題進行探討,由於在這種情境下會有 context 消失問題存在,因此需設定 ConfigureAwait(false) 來讓後續作業順利進行。

...繼續閱讀 »

[效能調教] 使用 NanoProfiler 監看特定程式區塊效能及 DB 回應時間

當面對回應緩慢的 Web API 時,當下最想了解的莫過於各項行為對於時間的消耗,此時我們可以透過 nanoprofile 幫我們記錄下這些資訊,特別是在操作 DB 所耗費的時間,更是不費吹灰之力的自動逐條詳列,並可重現當下呼叫 SP 所傳入的參數值,確實是調教效能的好幫手阿!

...繼續閱讀 »