長條圖是一種統計報告,它可以顯示在某個最小值和最大值之間的值的等級或範圍內值出現的頻率。讓我們以學生的考試成績結果為例來進行說明。假定有 30 個學生參加考試,最低分為 51,最高分為 100。您希望在最低分和最高分之間產生若干個等級,並計算每個等級內的結果數目,從而瞭解整個班級的分數分布情況。如果您希望產生五個範圍大小相似的連續等級,則可得到如下的等級和範圍:50 到 60、60 到 70、70 到 80、80 到 90、90 到 100(下限不包括在內,但包括上限)。該長條圖包括各個等級以及每個等級內的結果數目。
同樣,利用長條圖,您可以分析網路中在伺服器上設定的效能計數器(例如,CPU 利用率、記憶體)的值的採樣。例如,假設您每隔五分鐘就記錄某一網路伺服器的 CPU 利用率,某天測得的值在 21% 到 100% 之間變動。您可以產生有四個等級的長條圖 — 20 到 40、40 到 60、60 到 80、80 到 100 — 從而得出屬於每個等級的樣本數。如果您的伺服器在那一天超負荷地工作,那麼大多數樣本會屬於第四個等級。
產生效能計數器長條圖
下面是一個涉及長條圖的問題;您可以看看自己是否能在讀到我的解決方案之前就解決它。一個已調度的 SQL Server Agent作業將在一個名為 Samples 的表中定期記錄某網路伺服器的效能計數器的採樣。運行 清單 1 顯示的代碼,建立 Samples 表並向其中填充資料。採樣 (dt) 後,該表的每一行都包含度量 ID (measid)、度量值 (value) 和表示表中其他列的篩選列(100 位元組)。(例如,該表通常包括一個 serverid 列,這樣您可以記錄多個伺服器的度量樣本。考慮到這個問題,在此樣本中,讓該表只包含一個伺服器的資料。)
假設 measid 1 是 CPU 利用率百分比,measid 2 是以MB為單位的記憶體使用量量。您的使用者需要長條圖來協助他們分析在一段時期內某個度量的效能資料。使用者提供了以下參數:等級數 (@numsteps)、度量 ID (@measid) 和日期範圍(@fromdt — 包括起始日期,@todt — 不包括終止日期)。您的任務是產生這些給定參數的長條圖。請注意,您不必在結果中包括樣本數為 0 的等級。例如,假設使用者提供了以下參數: