sqlserver並發數
Ⅰ loadrunner性能測試,在並發10個用戶的情況下,sqlserver伺服器cpu平均在80%以上,如何解決
1.你可以試著更改並發應用戶數,查看sql伺服器的cpu使用率。若用戶數明顯變化而cpu使用率無明顯變化,可定位為伺服器自身問題,否則繼續定位。
2.lr增加sql的監控,監控資料庫是否有死鎖,查看其值及其它指標。
3.執行以下語句,查看性能測試過程中執行次數最多的sql語句,然後找開發進行sql語句優化。
select sql_text,executions from (select sql_text,executions from v$sqlarea order by executions desc) where rownum<81;
4.重復步驟2和3繼續優化定位。
Ⅱ Access資料庫與SQL Sever 資料庫區別很大嗎
Access資料庫與SQL Sever 資料庫區別:
1、Access是關聯式資料庫管理系統;SQL Server是一個關系資料庫管理系統
2、Access資料庫數據儲存量小,安全性不夠高,對高強度操作適應性比較差;SQL Server安全性高,真正的客戶機/伺服器體系結構,圖形化用戶界面,使系統管理和資料庫管理更加直觀、簡單,豐富的編程介面工具為用戶進行程序設計提供了更大的選擇餘地。
3、Access資料庫是桌面資料庫系統,而且它可以開發基於自己的桌面資料庫應用(UI),也可以作為前端開發工具與其它資料庫搭配開發應用程序(如SQL Server,DB2,Oracle等);SQL Server資料庫關系資料庫的管理系統,它是一個全面的資料庫平台。
4、Access資料庫部署簡單方便;SQL Server資料庫操作數據比Access較為復雜。
(2)sqlserver並發數擴展閱讀:
ACCESS資料庫特性:使用唯一的別名,傳遞空指針給動態庫,動態庫調用無符號整數,SHIFT和F2鍵調用過程。
SQLserver資料庫特性:
(1)高性能設計,可充分利用WindowsNT的優勢。
(2)系統管理先進,支持Windows圖形化管理工具,支持本地和遠程的系統管理和配置。
(3)強壯的事務處理功能,採用各種方法保證數據的完整性。
(4)支持對稱多處理器結構、存儲過程、ODBC,並具有自主的SQL語言。
網路——SQLserver資料庫
Ⅲ SQLServer和Oracle資料庫分析(oraclesql性能分析)
分析原則:
1、具體問題具體分析(這是由於不同的應用系統,不同的測試目的,不同的性能關注點)
2、查找瓶頸時按以下順序,由易到難。
伺服器硬體瓶頸-〉網路瓶頸(對區域網,可以不考慮)-〉伺服器操作系統瓶頸(參數配置)-〉中間件瓶頸(參數配置,資料庫,web伺服器等)-〉應用瓶頸(SQL語句、資料庫設計、業務邏輯、演算法等)註:以上過程並不是每個分析中都需要的,要根據測試目的和要求來確定分析的深度。對一些要求低的,我們分析到應用系統在將來大的負載壓力(並發用戶數、數據量)下,系統的硬體瓶頸在哪兒就夠了。分段排除法很有效。
分析的信息來源:1、根據場景運行過程中的錯誤提示信息;
2、根據測試結果收集到的監控指標數據。
一、錯誤提示分析
分析實例:
1、Error:「10.10.10.30:8080〃:[10060]Connection
Error::Server「10.10.10.30〃
分析:
A、應用服務死掉(小用戶時:程序上的問題。程序上處理資料庫的問題)
B、應用服務沒有死(應用服務參數設置問題)
例:在許多客戶端連接Weblogic應用伺服器被拒絕,而在伺服器端沒有錯誤顯示,則有可能是Weblogic中的server元素的AeptBacklog屬性值設得過低。如果連接時收到消息,說明應提高該值,每次增加25%
C、資料庫的連接(1、在應用服務的性能參數可能太小了;2、資料庫啟動的最大連接數(跟硬體的內存有關)。)
分析:可能是以下原因造成
A、譽叢應用服務參慶掘櫻數設置太大導致伺服器的瓶頸;B、頁面中圖片太多;C、在程序處理表的時候檢查欄位太大多。
二.監控指標數據分析
1、最大並發用戶數:
應用系統在當前環境(硬體環境、網路環境、軟體環境(參數配置))下能承受的最大並發用戶數。在方案運行中,如果出現了大於3個用戶的業務操作失敗,或出現了伺服器shutdown的情況,則說明在當前環境下,系統承受不了當前並發用戶的負載壓力,那麼最大並發用戶數就是前一個沒有出現這種現象的並發用戶數。如果測得的最大並發用戶數到達了性能要求,且各伺服器資源情況良好,業務操作響應時間也達到了用戶要求,那麼可行。否則,再根據各伺服器的資源情況和業務操作響應時間進一步分析原因所在。
2、業務操作響應時間:
分析方案運行情況應從平均事務響應時間圖和事務性能摘要圖開始。使用「事務性能摘要」圖,可以確定在方案執行期間響應時間過長的事務。細分事務並分析每個頁面組件的性能。如果伺服器耗時過長,請使用相應的伺服器圖確定有問題的伺服器度量並查明伺服器性能下降的原因。如果網路耗時過長,請使用「網路監視器」圖確定導致性能瓶頸的網路問題
3、伺服器資源監控指標:內存:
1、UNIX資源監控中指標內存頁交換速率(Pagingrate),如散衡果該值偶爾走高,表明當時有線程競爭內存。如果持續很高,則內存可能是瓶頸。也可能是內存訪問命中率低。
2、Windows資源監控中,如果Process計數器和ProcessWorkingSet計數器的值在長時間內持續升高,同時Memory計數器的值持續降低,則很可能存在內存泄漏。
內存資源成為系統性能的瓶頸的徵兆:很高的換頁率();進程進入不活動狀態;交換區所有磁碟的活動次數可高;可高的全局系統CPU利用率;內存不夠出錯()。
處理器:
1、UNIX資源監控(Windows操作系統同理)中指標CPU佔用率(),如果該值持續超過95%,表明瓶頸是CPU。可以考慮增加一個處理器或換一個更快的處理器。如果伺服器專用於SQLServer,可接受的最大上限是80-85%合理使用的范圍在60%至70%。
2、Windows資源監控中,如果System大於2,而處理器利用率()一直很低,則存在著處理器阻塞。
CPU資源成為系統性能的瓶頸的徵兆:很慢的響應時間();CPU空閑時間為零();過高的用戶佔用CPU時間();過高的系統佔用CPU時間();長時間的有很長的運行進程隊列()。
磁碟I/O:
1、UNIX資源監控(Windows操作系統同理)中指標磁碟交換率(Diskrate),如果該參數值一直很高,表明I/O有問題。可考慮更換更快的硬碟系統。
2、Windows資源監控中,如果DiskTime和Avg.DiskQueueLength的值很高,而PageReads/sec頁面讀取操作速率很低,則可能存在磁碟瓶徑。
I/O資源成為系統性能的瓶頸的徵兆:過高的磁碟利用率(highdiskutilization);
太長的磁碟等待隊列(largediskqueuelength);
等待磁碟I/O的時間所佔的百分率太高(/O);
太高的物理I/O速率:largephysicalI/Orate(notsufficientinitself);
過低的緩存命中率(lowbuffercachehitratio(notsufficientinitself));
太長的運行進程隊列,但CPU卻空閑(largerunqueuewithidleCPU)。
4、資料庫伺服器:
SQLServer資料庫:
1、SQLServer資源監控中指標緩存點擊率(CacheHitRatio),該值越高越好。如果持續低於80%,應考慮增加內存。
2、如果FullScans/sec(全表掃描/秒)計數器顯示的值比1或2高,則應分析你的查詢以確定是否確實需要全表掃描,以及SQL查詢是否可以被優化。
3、NumberofDeadlocks/sec(死鎖的數量/秒):死鎖對應用程序的可伸縮性非常有害,並且會導致惡劣的用戶體驗。該計數器的值必須為0。
4、LockRequests/sec(鎖請求/秒),通過優化查詢來減少讀取次數,可以減少該計數器的值。
Oracle資料庫:
1、如果自由內存接近於0而且庫快存或數據字典快存的命中率小於0.90,那麼需要增加SHARED_POOL_SIZE的大小。
快存(共享SQL區)和數據字典快存的命中率:select(sum(pins-reloads))/sum(pins)fromv$librarycache;
select(sum(gets-getmisses))/sum(gets)fromv$rowcache;
自由內存:select*fromv$sgastatwherename=『freememory』。
2、如果數據的緩存命中率小於0.90,那麼需要加大DB_BLOCK_BUFFERS參數的值(單位:塊)。
緩沖區高速緩存命中率:selectname,valuefromv$sysstatwherenamein(『dbblockgets』,『consistentgets』『physicalreads』)HitRatio=1-(physicalreads/(dbblockgetsconsistentgets))。
3、如果日誌緩沖區申請的值較大,則應加大LOG_BUFFER參數的值。
日誌緩沖區的申請情況:selectname,valuefromv$sysstatwherename=『redologspacerequests』。
4、如果內存排序命中率小於0.95,則應加大SORT_AREA_SIZE以避免磁碟排序。
內存排序命中率:selectround((100*b.value)/decode((a.valueb.value),0,1,(a.valueb.value)),2)fromv$sysstata,v$sysstatbwherea.name=』sorts(disk)』andb.name=』sorts(memory)』
註:上述SQLServer和Oracle資料庫分析,只是一些簡單、基本的分析,特別是Oracle資料庫的分析和優化,是一門專門的技術,進一步的分析可查相關資料。