国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server 2005可伸縮性和性能的計劃(2)

2024-08-31 00:50:07
字體:
來源:轉載
供稿:網友

  文件系統存儲

  對于快照存儲的其他選項是使用文件系統存儲。這樣的設置并不影響sql壓縮設置,因為這些數據存儲在文件系統中。

  文件系統快照存儲也適合遠程目錄和向外擴展的報表服務部署。當文件系統存儲可用時,快照數據被存留到報表服務器的本地文件系統中。這使得報表服務器能夠避免到目錄上走彎路,以支持會話和報表請求。

  你可以控制文件系統的使用,通過改變在rsreportserver 中的webserviceusefilesharestorage的值。在config file上,打開文件系統,改變值如下所示:

< add key="webserviceusefilesharestorage" value="true" / >

  將key的值改為“false”時,表示關掉文件系統。

  注意,在默認情況下,文件系統存儲快照數據到文件系統的目錄:c:program filesmicrosoft sql servermssqlmssql.instancereporting servicesrstempfiles. cleanupcycleminutes,位于rsreportserver內。config file控制如何頻繁的無用文件系統數據應該被移除。應該注意系統文件夾的準確的存儲需求,以避免超出存儲極限。

  如果報表服務器使用本地的目錄來代替遠程目錄,那么使用文件存儲就沒有什么意義了。快照數據已經存儲在sql server關系型數據庫中,該數據庫是高度優化來執行數據存儲和重新檢索的。利用文件系統存儲來配置一個本地目錄系統將引入非必要的存儲冗余和快照管理。

  壓縮和文件系統存儲的效果

  微軟在4-處理器遠程系統上測試了壓縮和文件系統快照存儲的效果。兩種技術在重負荷時都可以增加系統的能力。盡管壓縮增加了處理器的工作量,但是它也能減少報表服務器和目錄之間的通信量。

  表 5

  avg req / sec

  % of baseline

  page views/hr

  % of baseline

  peak sessions attained

  % of baseline

  no compression

  baseline

  baseline

  baseline

  sql compression

  baseline

  109%

  baseline

  file system storage

  126%

  129%

  113%

  文件系統存儲讓你支持更多的用戶會話數,而不用降低響應時間。很明顯,文件系統設置提供了最好的擴展和能力。在測試一個4-處理器的遠程目錄系統中,當打開快照數據的文件系統時,能夠支持多于13%的并發用戶會話數量。

  關鍵點

  ◆你可以增加現有系統的虛擬能力,通過使用更多的緩存實例和快照代替實況報表。

  ◆對于高數量的報表環境,利用文件系統快照在向外擴展和遠程服務器實現中提供最高可能的能力水平和響應時間。

  性能優化的最佳實踐

  本節主要概述了工作指南和最佳的能力計劃和性能優化實踐。

  選擇配置

  回顧向上擴展和向外擴展指南,就報表能力而言有一個系統配置譜變得越來越清晰了。

  在該譜的最低端是帶有本地目錄的2-處理器報表服務器。在最高端是向外擴展的報表服務器,它提供了可擴展的能力和性能。盡管本文的測試僅僅包含了向外擴展的配置,4個2-處理器的報表服務器和一個遠程目錄,向外擴展能夠很容易地變大。

  在這兩種選擇之間,你可以使目錄位于遠程,增加處理器到一個本地實現或者遠程實現,同時在web場方法的單個系統中進行拆分處理。

  為了給你的工作環境選擇恰當的配置,首先要求識別需要的特定性能需求。以下是一些簡單的指導:

  ◆如果你的系統能夠提供更多的內存,就添加一些。這是因為內存消耗是你第一個會遇到的瓶頸。

  ◆如果你考慮擴展性并運行在本地目錄上,第一件需要做的事情是使目錄分布到獨立的服務器上。僅僅通過拆分目錄,你可以獲得明顯的在性能方面的擴展性,通過增加處理器也可以提高負荷。

  ◆向上擴展和向外擴展都是一種好的方法對于達到4處理器的服務器。超過這個數,向外擴展可能是最安全和最可伸縮的方法。大的smp系統還沒有完成測試。

  在向外擴展的配置的向外擴展讓你能夠保持一定的處理,如實時報表的設計和預訂報表操作,而不受交互的妨礙。比如:

  ◆采用一個特定的報表服務器作為前端服務器來處理所有的報表創建請求,使其他的服務器有空處理交互式報表。

  ◆采用一個或者多個報表服務器來處理有序的訂閱或者事件驅動報表的產生。

  一般的性能優化技巧

  由于報表服務器目錄是由sql server來管理,如果你懷疑數據庫性能問題,建議優化sql server數據庫的性能。這可能包括用來創建報表的源數據庫或者用來支持所有報表服務執行的目錄數據庫。你可以在http://www.microsoft.com/technet/找到優化sql server數據庫的信息,在“the data tier: an approach to database optimization”里;和在線的sql server書的性能評估章節里。

  以下是一些常用的性能優化技術,使用報表服務時,當把它們記下。

  ◆優化你的報表查詢。通常,大量的報表執行時間花費在執行查詢和重新檢索結果上。假如你使用sql server,像query analyzer 和 profiler工具可以幫助你優化查詢。同時,數據庫tuning advisor能建議更好的數據庫索引。你應該考慮通過使用分析服務來增加性能。

  ◆如果你不需要報表數據,請不要檢索它。使用數據庫操作,如過濾、分組和聚集可以減少大量的要求在報表中處理的數據,為此也可以改進性能。

  ◆使你的報表大小和復雜性適度。很少的用戶真正希望看到1000頁的報表。假如你需要處理一個大的報表,請尋找一些方法使它們變成小部分來進行處理。

  ◆如果性能非常差即使對于單個用戶,檢查asp.net類別中的應用程序重啟計數器。一些防毒軟件被認為“接觸”配置文件,因此導致擴張的應用程序域在報表服務器web服務上重啟。更多信息,請查閱http://support.microsoft.com/上的關于抗病毒和asp.net的文章

  ◆假如在第一次web服務訪問時性能很慢,一段時期都沒有反應,在iis管理器中使在性能tab上的空閑time-out為無效。

  ◆如果可能的話,從緩存或者快照數據中執行報表,而不是實況數據。

  ◆在非峰值期間,限制非必要的后臺處理,避免和在線用戶競爭資源。

  ◆如果你的報表服務器有4gb內存,記得設置3gb 轉換在c:oot.ini上,以便應用程序處理時能用到。

  ◆常規任務如清理報表服務中的會話將會變得非常耗資源,如果執行時用戶正在系統上。關于如何在rsreportserver. config file 上調整cleanupcycleminutes間隔的說明在附錄a中進行討論。

  ◆在少量的數據文件上創建報表服務器目錄,通過把數據放到不同物理盤上的日志文件中。這些在附錄a中將詳述。

  使用web場

  在microsoft® windows® 2003 server版上,你可以通過設置最大的工作處理器數來進行擴展。為了定位iis的設置,打開iis管理工具,然后查看應用程序池的屬性。默認時,這些命名為reports and reportserver。你必須首先決定是什么應用程序池被分配到每一個虛擬目錄上,通過右鍵點擊然后選擇選項。被分配的應用程序池將出現在虛擬目錄tab的底部。

  當你知道那個應用程序池在用,下一步就是打開應用程序池的屬性信息。這些信息可以通過iis管理器來訪問。下一步,定位最大的工作處理器數。通過右鍵點擊然后選擇選項,可以看到性能tab。設置的最大工作處理器數將出現在性能tab的底部。

  在2-處理器和4-處理器系統上,增加工作處理器對能力和擴展有積極影響。

  尤其,在4-處理器系統上將最大的工作處理器數由1變為4,將使報表處理器在性能開始下降之前能夠處理更大的并發會話。在2-處理器遠程實現上改變設置比在4-處理器遠程實現上影響要小。如果你所使用的報表服務系統,有4個以上的處理器,32位地址可能不能夠提供足夠的內存。你應該進行額外的測試。

  其他工作的優化

  盡管本白皮書主要關注交互性的工作,以下提供一些關于預定和實時報表工作的技巧。其他的指導將會在以后的白皮書中出現。

  預定報表交付性能

  預定或者訂閱的報表有這樣的優點:它可以在你的控制范圍內發生。如果你的報表服務環境同時提供預定和按需的報表,你可以用一臺單獨的報表服務器來處理報表訂閱。你然后可以訪問像其他報表服務器一樣的目錄,但是不要管理交互式的請求。用這種方法,按需報表處理不能從訂閱報表轉移。和交互式的工作一樣,預定操作的擴展能夠在向外擴展的配置上增加。所有的后臺操作都在目錄數據庫中排隊,每一個連接的服務器能夠推出一個作業進行處理。

  實時報表性能

  sql server 2005報表服務提供了實時的報表工具,使商業用戶可以交互式的創建報表。報表創建包括一個商業查詢模型,它能幫助用戶構建報表,而不需要考慮太多下面的數據源。

  在用報表創建工具時,有一個風險,那就是商業用戶在構建和運行復雜的、資源密集型報表時會消耗很多資源,這可能不僅會影響到報表服務器,而且可能會影響源系統。

  如果你期待報表創建工具能廣泛使用,你可以采取一些步驟來保護整個系統性能,比如:

  ◆將報表創建會話應用到一臺服務器上,使那些不可預見的裝載不會影響到其他用戶的交互式報表處理。

  ◆不要讓報表創建會話直接和oltp系統一起工作,而是,直接和產品數據源的備份打交道。為了得到更好的性能潛力,你可以進行一些組織,比如數據庫鏡像和復制技術,或者通過集成服務來創建數據市場。通過這種方式,可以避免使未管理的報表創建影響到產品系統。

  執行自己的性能測試

  去模擬現實世界的工作條件也不是一件很繁瑣的事情,花一些時間去做是非常有意義的,也是值得推薦的。許多部署出現了性能相關的問題,在實施之前沒有進行充分的壓力測試。go live。對能力和服務器大小進行恰當的計劃,對支持產品工作量是非常必要的事情,可以避免大量令你頭疼的事。

  至少,下面兩個任務應該是你部署計劃的一部分:

  ◆模擬一個有代表的工作量,它可能是你實施報表服務需要經歷的。

  ◆執行一些反環境的測試,這樣的環境可能和你產品環境差不多。

  通過執行這兩個任務,記錄一些上面討論的分析標準,你將能夠在未來的部署中建立一個現實的性能基線。這個基線非常有用,你將用它來驗證將來的應用程序、配置和硬件的改變。通過使用建立的基線,你能夠證實通過簡單的再運行同樣的測試,一些被提議的更改并不會對性能產生逆影響。任何時候你對系統做一些重要的改變時,你應該重新建立一個性能基線。

  微軟和第三方有許多壓力測試工具,它們可以用來建立性能基線。microsoft® visual studio® 2005團隊測試版包含了web站點的負荷測試。更多的信息,參考http://msdn.microsoft.com/。

  性能變量

  為了得到性能需求,你首先應該明白自己的工作需要。一些用戶通過公共入口去使用報表服務,以交付按需報表;其他的依賴于預定報表處理和交付。一些通過報表創建工具來支持實時報表創建。

  其他影響工作量和性能的因素有:

  ◆同時進行報表請求的用戶數

  越多的激活了的會話,越消耗機器資源。

  ◆報表定義的大小和復雜度

  復雜的報表,由大量數據構成的報表明顯要占用比簡單報表更多的資源。

  ◆報表的產生是采用緩存或者快照數據,還是采用實況數據

  采用緩存或者快照數據來產生報表比采用實況數據消耗更少的資源。另外,采用緩存報表減少了源系統的負荷。

  ◆源數據系統的性能,報表服務是從源數據系統獲取數據的

  如果查詢在原數據系統上緩慢的,那么報表的執行也將是緩慢的。

  ◆顯示報表時的格式化請求

  格式化像pdf或者excel都比html要耗資源。

  ◆管理目錄的數據庫服務器性能

  如源數據系統一樣,如果管理目錄的數據服務器性能太差,那么報表的顯示也將更慢。

  許多東西,由于設計的原因或者用戶配置的原因都會影響到報表的性能。包括如下:

  ◆應用程序設置,如報表服務配置文件的配置,iis和操作系統的配置。

  ◆支持報表應用程序的硬件配置和設計。

  ◆外部原因像交付基礎設施,包括網絡能力,為訂閱交付的email服務器的性能,甚至文件共享的有效性和性能。

  為了更好的計劃恰當的報表服務部署的能力,你首先必須明白你的工作量特征。由于商業因素,你的工作情況可能每月,每周或者每日的有波動。

  分析標準

  當你為你的系統確定性能基線時,你應該確定一些有意義的標準。微軟常采用以下標準:

  ◆同步會話

  ◆每秒的平均請求數

  ◆響應時間中值

  ◆每分鐘查看的總頁數

  同步會話的標準是一個用來確定其他標準的好的變量。比如,你開始的時候有100個同步會話,然后以每次100個遞增來產生一個測試工作負荷。

  每秒種的平均請求標準幫助你明白在假定的配置條件下,有多少web請求可以同時進行。只要系統不是在做特定的服務,那么每個系統測試都應該能夠等同的為所有請求服務。當你把每秒的請求數和同步的會話繪成圖時,看看圖形的頂點,它是每秒平均請求的最大值。它體現了系統能夠服務時,每秒請求的峰值和會話的最大值。很明顯,根據每分鐘的請求數或者每小時的請求數,每秒的平均請求能夠很容易被推斷出。中值響應時間是一個普通的標準,可以用來理解報表服務需要多少時間來響應請求。很明顯,時間越短越好。

  根據每分鐘查看的頁面數,可以看出系統配置的能力,能夠執行的報表數和并發的頁面查看。你也可以得到更多的關于頁面查看的細節信息,包括以下信息:

  ◆初始化報表請求

  為了獲得這些信息,模擬一個用戶發出一個初始化請求,查看報表的第一頁。初始化報表請求需要花費比并發頁面查看請求更多的時間來處理。

  ◆并發的頁面查看

  為了獲得這些信息,模擬一個用戶發出請求去查看一個報表的并發頁面。

  ◆總的頁面查看

  這是所有初始化報表請求,加上所有的并發頁面查看的總和,提供了一個匯總的值,這個值體現了所有請求查看的頁面總數。

  思考時間

  在現實生活中,在我們發出并發請求去查看其他頁面或者運行其他報表之前,當我們查看報表結果時,通常需要等待。

  在內部測試,微軟選擇了一個隨機的思慮時間在25到35秒之間。這個思考時間看起來比較現實,假設用戶執行一個報表,在訪問并發頁面之前花費了一定的時間來查看報表結果。

  命名的用戶數vs 同步激活的會話

  一個命名的用戶數不等于同步激活的會話數。當計劃自己的部署時,記住如下信息:

  ◆命名的用戶數表示了那些有權限和潛力來訪問報表服務的人數。

  ◆在任意時刻,僅僅一少部分的命名用戶會導致同步激活的會話。

  ◆由于思考時間,在任意時刻,僅僅一少部分的同步激活的會話會發出并發請求。

  總結

  microsoft sql server報表服務是用來滿足廣大組織低本高效的需要,彈性報表是用來優化企業生產率。在.net平臺和windows server系統之上,報表服務提供了可擴展性和可靠性,用來滿足企業環境。它的標準的可擴展體系結構,由開放接口和apis組成,支持集成到幾乎所有的it環境。通過這種方法,它有效地使用戶和他們在企業中所需的信息聯系起來。

  在大多數情形中,添加機器資源能夠使報表服務部署的性能按線性增長。增加系統性能的第一個邏輯步驟是拆分報表服務目錄到遠程服務器上。隨后,你必須決定是采用向上擴展還是采用向外擴展來追求更好的報表服務性能。微軟測試證明兩種方式都是有效的。因此,你的選擇更多的取決于你自己的經濟狀況,自己希望的舒適程度和自己喜好。

  忽略你最后選擇的擴展方法,建立你自己的客戶基線非常重要。這樣你就可以監控到在你改變配置時,系統地性能是提高了還是降低了。

  只有通過測量工作量才能反應用戶需求,你才能決定更改是對系統有積極作用還是有消極作用。

  微軟提供了一些工具,如在白皮書中描述的一樣,用來幫助你測量和監控報表服務的性能。使用文章中提供的指導,你應該能夠為你的報表服務部署成功地執行基本性能計劃,同時監控正在進行的操作。

  附錄a: 系統配置的設置

  當配置你的報表服務系統,你應該看看以下的設置和選項,以優化你的系統性能。當創建基線性能測量時,它們是非常重要的。

  cleanupcycleminutes

  cleanupcycleminutes域控制多長的時間reporting services執行特定的常規事務,如清除超期或者失去聯系的會話。這些工作在繁忙的時間內進行是比較耗資源的。

  如果你有可用的磁盤空間用來長時間的存儲會話數據,cleanupcycleminutes值的增加減少了常規事務執行的時間。

  cleanupcycleminutes域駐留在rsreportserver. config file上。默認時,該文件位于c:program filesmicrosoft sql servermssqlmssql.instancereporting servicesreportserver上。默認的設置值是10。而且,為了測試它的擴展性微軟已經把值變到了1200,目的是在測試運行期間進行這些處理。

  maxactivereqforoneuser

  默認時,報表服務限制了明顯的url和web服務請求數量,目的是為了避免dos(denial of service)的攻擊。作為一個管理人員,你可以增加這些限制,以便更多的請求可以為每一個用戶同步打開。當到達上限時,報表服務器自動放棄那個用戶隨后的請求。這個值也可以在rsreportserver.config file中找到,默認的值為20。你也可以向上調,取決于在測試中有多少唯一用戶。

  當使用同樣的機器作為報表服務器時,在sql server上設置內存配置限制

  你可以把被sql server消耗的內存,和由report serve通過 “pinning” sql server而消耗的內存,劃分到特定的內存數。這樣做,設置最大和最小的內存數量到機器物理內存的一部分。

  比如,在一個有3gb內存可用的機器上,你可以給sql server1gb,剩下的留給reporting services

  reportservertempdb 分區

  對于擴展性測試,微軟創建了一個分區的reportservertempdb數據庫,由10個獨立的1gb文件和一個1gb交易日志組成,目的是為磁盤i/o操作改進并行性。

  如果在工作量中的快照已經被用來做測試,對reportserver數據庫進行分區也會帶來好處。所有的11個文件位于一個單獨的raid 0+1存儲設備上,用來優化對目錄的讀寫操作。

  以下是一個t-sql腳本的例子,描述了如何進行的大概意思。

use master
drop database reportservertempdb
go
create database reportservertempdb
on
primary
( name = reportservertempdb1,
filename = 'c:program filesmicrosoft sql servermssqlmssql。
instancedatareportservertempdb1。mdf',
size = 1gb,
filegrowth = 20),
( name = reportservertempdb2,
filename = 'c:program filesmicrosoft sql servermssqldatareportservertempdb2。ndf',
size = 1gb,
filegrowth = 20),
。 。 。
( name = reportservertempdb10,
filename = 'c:program filesmicrosoft sql servermssql mssql。
instancedatareportservertempdb10。ndf',
size = 1gb,
filegrowth = 20)
log on
( name = reportservertempdblog,
filename = 'c:program filesmicrosoft sql servermssql mssql。
instancedatareportservertempdb_log。ldf',
size = 1gb,
filegrowth = 20)
collate latin1_general_ci_as_ks_ws
go
use reportservertempdb
exec sp_addrole 'rsexecrole'
go

  附錄b:性能測試工具

  該節描述了許多工具用來測試和監控報表服務性能。

  windows 性能監控工具

  控制報表服務的性能統計類能夠通過集成性能工具來控制。該工具是microsoft® windows®操作系統的一部分。報表服務執行中的監控特定的性能統計類,使你可以進行如下工作:

  ◆估計支持期望工作量的系統需求。

  ◆創建性能基線來測量配置更改和應用程序升級所帶來的影響。

  ◆在負荷下監控應用程序性能,看看是真的還是假的增長了。

  ◆核實升級硬件是否帶來了你所期望的性能影響。

  ◆檢驗系統配置更改是否帶來了你所期望的性能影響。

  如果你需要從單個機器上來監控多個報表服務實例,你可以一起或者單獨的監控這些實例。選擇包含那個實例是添加統計的一部分。對包含在windows中的關于使用性能工具的信息,可以查看windows產品文檔。

  訪問性能工具

  2.從開始菜單點擊“run”。

  3.在打開的文本框中輸入perfmon ,然后點擊ok。

  4.在性能工具中,在左邊的長方塊中選擇系統監控對象,然后在性能圖上右點擊。

  5.選擇add統計類。

  你應該現在就開始進行以上工作。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西乌珠穆沁旗| 洪泽县| 石泉县| 呼图壁县| 台南县| 安岳县| 顺义区| 和龙市| 丹东市| 嘉善县| 靖州| 防城港市| 龙南县| 黄浦区| 沈阳市| 奉贤区| 黔江区| 万全县| 青州市| 石阡县| 麻栗坡县| 镇平县| 广灵县| 高碑店市| 定结县| 湖北省| 南投市| 县级市| 古蔺县| 财经| 吴忠市| 忻城县| 文成县| 富平县| 广德县| 禹州市| 什邡市| 利辛县| 皮山县| 云龙县| 岑巩县|