Sql-Server

測試儲存過程的可伸縮性

  • September 8, 2021

我有一個電子郵件應用程序,它將被呼叫以在每次頁面載入時向 UI 傳遞給定使用者的新消息數量。我在數據庫級別測試了一些變化,但所有變化都由儲存的 proc 呼叫抽象。

我正在嘗試猛擊數據庫以查看斷點(每秒請求數)是什麼。

簡而言之,我有一個表,例如這個 userId,newMsgCount,在 userId 上有一個聚集索引。SQL 應該能夠每秒處理成百上千個這樣的響應。我認為落後者是我的 .NET 應用程序。

我怎樣才能使這個很好的測試來達到基於 SQL 性能的測試結果?

有沒有為此我可以給它一個儲存的過程名稱和參數的工具來打我的數據庫?

我想看看數據庫是否可以返回一分鐘。每秒 250 個響應。

SQLQueryStress 是用於小規模並發測試的好工具,但它並不能真正勝任負載測試的工作。令人驚訝的是,Microsoft 提供了一個鮮為人知的工具集,它可以應對大多數 SQL Server 壓力測試場景,即RML Utilities

工具的簡要概述:

  • ReadTrace將 Profiler 跟踪從 .trc 文件轉換為 .rml(重播標記語言)。
  • OStress用於針對伺服器重播 .rml 和 .sql 文件。
  • ORCA(OStress 重放控制代理)在 OStress 的分佈式實例之間協調重放。
  • Reporter提供性能分析報告。

SQLCat 團隊有一篇出色的快速入門文章,其中包括範例數據庫和工作負載,使用 RML Utilities 9.0 實現 Microsoft SQL Server 的精確性能

您可以選擇為重放分析活動,或者在您的場景中可能更合適,手動啟動一組 .sql 腳本,然後通過 OStress 和 ORCA 重放。

用於負載測試和調查性能問題的出色工具。

您可以使用的一種工具是SQLQueryStress。為了快速入門,請提供:儲存過程、迭代和執行緒數。然後開始壓力測試。將顯示 CPU 秒數、邏輯讀取等指標。

引用自:https://dba.stackexchange.com/questions/5809