緩沖區(qū)是創(chuàng)建數(shù)據(jù)頁面的緩沖頁面池,這一般是SQL server內存池中最大的部分。這個計數(shù)器應該盡可能高。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于網(wǎng)站設計制作、網(wǎng)站設計、大東網(wǎng)絡推廣、小程序制作、大東網(wǎng)絡營銷、大東企業(yè)策劃、大東品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供大東建站搭建服務,24小時服務熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
低值表示只有少數(shù)的請求是在緩沖區(qū),其他請求是在磁盤獲取服務
這種情況發(fā)生可能是SQL server還在準備狀態(tài)下,或緩沖區(qū)的增長需求超過最大可用內存,因此如果此值比較低,應該考慮為系統(tǒng)增加內存。
每好一個檢查點操作移到磁盤的頁面數(shù)量,這些值應該相當?shù)?,高值意味著緩沖中更多的頁面被標記為臟頁面。
臟頁面是在緩沖區(qū)中被修改的頁面。一旦被修改,就標記為臟并在下一個檢查點被寫回磁盤。
如果這個計數(shù)器較高說明系統(tǒng)發(fā)生大量的寫入操作,可能是I/O問題的征兆。
記錄了緩沖區(qū)管理器的Lazy write進程每秒寫入的緩沖區(qū)數(shù)量。這個進程會把時間較長的臟頁面從緩沖區(qū)中刪除,將內存釋放
數(shù)值過高說明I/O有問題或是內存問題。
頁面平均壽命,表示一個不被引用的頁面在緩沖池中停留的時間。數(shù)值低意味著頁面從緩沖區(qū)中被移走
降低了緩沖的效率并指出內存壓力的可能。
值高說明內存短缺,需要將進度掛起等待內存空閑
表示SQLServer希望消耗的動態(tài)內存總數(shù)。
當前分配給SQLerver的總內存。 如果低于Target Server Memory
那么可能是SQLserver內存需求很低,服務器最大內存設置的太低
均使用性能監(jiān)視器添加指標查看
方法參考:
%disk time 磁盤時間百分比 平均值85%
CurrentDiskQueueLength 當前磁盤隊列長度 平均值2
disk Transfers/sec 每秒磁盤傳輸數(shù)量 平均值100
Disk Bytes/sec 每秒傳輸字節(jié)數(shù) 平均值每秒10MB(該值需通過磁盤性能測試評估,不同磁盤指標不同)
avg.disk sec/read(write) 每次磁盤讀寫所需平均時間 平均值10毫秒
%process Time 處理器時間百分比 平均值80%
%privileged time 特權時間百分比 平均值10%
windows server 包括用戶模式和特權模式兩種 %privileged time為20%-25%表明系統(tǒng)正在進行大量的IO操作,一個專用的SQLserver系統(tǒng)%privileged time不能超過10%
sqlserver:SQL Statistics Batch Requests/sec 每秒接收到的sql命令批數(shù) 根據(jù)機器配置 一般1000為繁忙,超過1000應注意
SQL Compilations/sec sql編譯次數(shù) 100
SQL Reompilations/sec sql重編譯次數(shù)
Network interface bytes Total/sec 每秒總傳輸字節(jié)數(shù) 平均值NIC容量的50%
NetworkSegment %net utilization 網(wǎng)絡利用率 平均值80%
參考:
經(jīng)常使用MSSQL的朋友都會發(fā)現(xiàn)一個小小的網(wǎng)站在運行若干天后MSSQL就會把服務器上所有的內存都吃光,此時你不得不重新啟動一下服務器或mssql來釋放內存,有人認為是 MSSQL有內存泄露問題,其實不然,微軟給我們了明確說明:在您啟動SQL Server 之后,SQL Server內存使用量將會持續(xù)穩(wěn)定上升,即使當服務器上活動很少時也不會下降。另外,任務管理器和性能監(jiān)視器將顯示計算機上可用的物理內存穩(wěn)定下降,直到可用內存降到 4 至 10 MB 為止。
僅僅出現(xiàn)這種狀態(tài)不表示內存泄漏。此行為是正常的,并且是 SQL Server 緩沖池的預期行為。
默認情況下,SQL Server 根據(jù)操作系統(tǒng)報告的物理內存加載動態(tài)增大和收縮其緩沖池(緩存)的大小。只要有足夠的內存可用于防止內存頁面交換(在 4 至 10 MB 之間),SQL Server緩沖池就會繼續(xù)增大。像在與SQL Server 分配內存位于相同計算機上的其他進程一樣,SQL Server 緩沖區(qū)管理器將在需要的時候釋放內存。SQL Server每秒可以釋放和獲取幾兆字節(jié)的內存,從而使它可以快速適應內存分配變化。
更多信息
您可以通過服務器內存最小值和服務器內存最大值配置選項設置 SQL Server數(shù)據(jù)庫引擎使用的內存(緩沖池)量的上下限。在設置服務器內存最小值和服務器內存最大值選項之前,請查閱以下 Microsoft 知識庫文章中標題為'內存'一節(jié)中的參考信息:319942 HOW TO:Determine Proper sql server(WINDOWS平臺上強大的數(shù)據(jù)庫平臺) Configuration Settings(確定正確的 sql server(WINDOWS平臺上強大的數(shù)據(jù)庫平臺) 配置設置)
請注意,服務器內存最大值選項只限制 SQL Server 緩沖池的大小。服務器內存最大值選項不限制剩余的未保留內存區(qū)域,sql server(WINDOWS平臺上強大的數(shù)據(jù)庫平臺) 準備將該區(qū)域分配給其他組件,例如擴展存儲過程、COM 對象、以及非共享 DLL、EXE 和 MAPI 組件。由于前面的分配SQL Server專用字節(jié)超過服務器內存最大值配置是很正常的。有關此未保留內存區(qū)域中分配的其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:316749 PRB:在使用大量數(shù)據(jù)庫時可能沒有足夠的虛擬內存
下面我們就來實戰(zhàn)如何限制MSSQL內存使用:
第一步:打開企業(yè)管理器雙擊進入要修改的MSSQL.
第二步:在左側MSSQL上點擊右鍵,選擇屬性,彈出SQL Server屬性(配置)對話框(最好打上SQL SP4補丁)
第三步:點擊內存選項卡. 在這里,你會看到MSSQL默認設置為使用最大內存,也就是你所有的內存,根據(jù)你的需要,設置它的最大值(一般為物理內存-128M)和最小值(一般為最大內存的1/4)吧.
第五步:設置完畢,重啟MSSQL服務,配置即可生效!
SHIFT+CTRL+F
整個解決方案搜索一下Connection 找到實例名稱,再看一下這個實例用完有沒有Close掉
另外:你的網(wǎng)站比較大的話,建議不要在需要使用數(shù)據(jù)庫連接的地方隨意創(chuàng)建新對象,而是使用自己封裝的類,這樣有利以后修改及減少影響
比如你可以建一個類A,里面有個方法
QueryData(string sql)
{
// 把創(chuàng)建對象和對象的釋放統(tǒng)一寫在這里,其它地方調用它就行了
}
如果你不想這樣的話,那再建議使用連接池,這樣就不會出現(xiàn)排隊的情況了,連接池的使用在網(wǎng)上搜一下一大把.
開始-程序-sql server 2005-sql server configuration mananger-sqlexpress協(xié)議-雙擊右側的TCP/IP協(xié)議