c軟件天善cognos報表性能調優(yōu)_第1頁
c軟件天善cognos報表性能調優(yōu)_第2頁
c軟件天善cognos報表性能調優(yōu)_第3頁
c軟件天善cognos報表性能調優(yōu)_第4頁
c軟件天善cognos報表性能調優(yōu)_第5頁
已閱讀5頁,還剩62頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一:軟件環(huán)境41 APACHE 配置調優(yōu)1.1 TIMEOUT(超時)1.2 MAXKEEPALIVEREQUESTS(最大的請求數(shù))1.3 KEEPALIVETIMEOUT(請求超時)2 IIS 配置調優(yōu)2.1 連接超時2.2 性能3 REPORTNET 自帶 TOMCAT 配置調優(yōu)3.1 MAXPROCESSORS(最大進程數(shù))3.2 ACCEPTCOUNT(最大連接數(shù))3.3 CONNECTIONTIMEOUT(連接超時)3.4 SESSION-TIMEOUT4 COGNOS REPORTNET 配置調優(yōu)4.1 REPORTSERVICE.XML4.2 BATCHREPORTSERVIC

2、E.XML4.3 CQECONFIG.XML4.4 PPDS_CFG.XML5 COGNOS REPORTNET 服務器管理設置5.1 CONTENT STORE 數(shù)據(jù)庫連接池設定5.2 開啟審計功能4444455666777710131414141517171819206 提高7 加大緩存數(shù)據(jù)庫速度8 更改 REPORTNET 啟動服務配置9 修改 COGNOS CONFIGURATION 配置提高 COGNOS8 速度10 分布式部署二:COGNOS 設計調優(yōu)201 REPORT STUIDO 設計調優(yōu)1.1 報表函數(shù)的使用1.2 過濾條件順序調整202021212222232425252

3、62728字段、表順序調整1.31.4 聚合前后設置過濾條件1.5 取消報表自動分組提高明細報表1.6 字段排序設置1.7 自動排序設置1.8 報表 PROCESSING 設置1.9 外連接設置1.10 向量乘積設置1.11 使用 WITH 子句1.12 報表服務器本地緩存設置速度2 FRAMEWORK MANAGER 設計調優(yōu)292930313336363738383839402.1 手寫 SQL 定制2.2 函數(shù)列表指定2.3 表關聯(lián)設定2.4 EDIT GOVERNORS主題性能設置3 TRANSFORMER 和 CUBE 設計調優(yōu)3.1 啟用多 CPU數(shù)據(jù)源:3.2 通過 CROSST

4、AB CACHING 提高 CUBE速度3.3 恰當分配數(shù)據(jù)庫和 COGNOS 之間的運算。3.4 恰當定義維度粒度3.5 優(yōu)化參數(shù)提高 CUBE 在 COGNOS8 上的展示性能。3.6 恰當放置暫存文件3.7 調節(jié) TRANSFORMER 每次提交數(shù)據(jù)量三:ORACLE 設計調優(yōu)401.1TABLE 的方式404042434344454546474748484949505152545455555757585859611.2 共享 SQL 語句1.3 選擇最有效率的表名順序(只在基于規(guī)則的優(yōu)化器中有效)1.4 WHERE 子句中的連接順序1.5 SELECT 子句中避免使用 * 1.6 使用

5、 DECODE 函數(shù)來減少處理時間1.7 用 WHERE 子句替換 HAVING 子句1.8 減少對表的1.9 通過內部函數(shù)提高 SQL 效率.41.251.261.271.28使用表的別名(ALIAS) 用 EXISTS 替代 IN用 NOT EXISTS 替代 NOT IN用表連接替換 EXISTS用 EXISTS 替換 DISTINCT識別低效執(zhí)行的 SQL 語句用 EXPLAIN PLAN 分析 SQL 語句用索引提高效率索引的操作基礎表的選擇 多個平等的索引等式比較和

6、范圍比較強制索引失效避免在索引列上使用計算 自動選擇索引避免在索引列上使用 NOT用>=替代>用 UNION 替換 OR (適用于索引列)用 IN 來替換 OR1.29 避免在索引列上使用 IS NULL 和 IS NOT NULL1.30 總是使用索引的第一個列1.31 用 UNION-ALL 替換 UNION ( 如果有可能的話)1.32 用 WHERE 替代 ORDER BY1.33 避免改變索引列的類型.1.34 需要當心的 WHERE 子句626363646566一:軟件環(huán)境1 Apache 配置調優(yōu)可修改 apache 配置文件 apacheconfhttpd.conf

7、。1.1 Timeout(超時)用戶連接超時設置,從用戶提交請求到從web server 得到相應的最大時間間隔。默認值 300 秒。跟根據(jù)當前的網(wǎng)絡狀態(tài)對超時進行設置1.2 MaxKeepAliveRequests(最大的請求數(shù))Web server 保持的最大活動請求數(shù),持續(xù)連接的最大請求數(shù),增大該值可一定程度提高性能,可將其設置為 0(對最大連接請求數(shù)不做限制)。默認值為 100。1.3 KeepAliveTimeout(請求超時)從同一個客戶端的同接發(fā)過來的兩個請求之間的的最大時間間隔,運行 reportnet 的瀏覽器會每隔一個時間間隔向服務器發(fā)出一個同步請求,如果這個值太小的話,可

8、能會出現(xiàn)找不到請求的錯誤。默認值為 15。2 IIS 配置調優(yōu)通過點擊默認的右鍵,點其屬性,出現(xiàn)如下圖2.1 連接超時用戶連接超時設置,從用戶提交請求到從web server 得到相應的最大時間間隔。默認值 150 秒。跟根據(jù)當前的網(wǎng)絡狀態(tài)對超時進行設置2.2 性能帶寬限制限制連接可以使用的帶寬,應設置為不限持續(xù)連接的最大請求數(shù),增大該值可一定程度提高性能,可將其設置為不受限制,如下圖。3 ReportNet 自帶tomcat 配置調優(yōu)可修改TOMCAT 配置文件CRN_ROOTtomcat*.*confserver.xml。其參數(shù)集中在行:<Connector className=&q

9、uot;org.apache.coyote.tomcat4.CoyoteConnector" port="9300" minProcessors="5" maxProcessors="500" enableLookups="true" redirectPort="9443" acceptCount="500" debug="0" connectionTimeout="60000" useURIValidationHack=&q

10、uot;false" disableUploadTimeout="true"/>具體如下:3.1 maxProcessors(最大進程數(shù))tomcat 在運行的時候的最大處理請求(多線程)。在服務器的情況下,提高該值可以提高對默認值 500。的利用和處理速度。3.2 AcceptCount(最大連接數(shù))Tomcat的最大連接數(shù)。在服務器的情況下,可提高該值。默認值為 500。3.3 ConnectionTimeout(連接超時)Tomcat 連接的超時設置。因為 reportnet 的同步連結處理 http server 傳遞給tomcat,所以該值需要和

11、http server 中 KeepAliveTimeout 值匹配。默認值 60000 秒。3.4 session-timeout文件路徑:CRN_ROOTtomcat*.*confweb.xml<session-config><session-timeout>30</session-timeout></session-config>Session 超時設置,默認值為 30,分鐘。4 Cognos ReportNet 配置調優(yōu)4.1 reportservice.xml文件路徑:CRN_ROOT webappsp2pdWEB-INFservice

12、s reportservice.xml注:修改文件后,重啟服務后配置生效。4.1.1 max_process<init-param><!- Theone time ->um number of processes that can be running at<param-name>max_process</param-name><param-value>2</param-value></init-param>ReportNet 服務交互式報表處理所占進程數(shù)。默認值為 2,可根據(jù) CPU 數(shù)情況進行調整,通常每個

13、 CPU 可支持 2 個處理。注:該值需要和 ReportNet ReportService 服務中的interactive report service processes 值匹配。um number of4.1.2 linger_process<init-param><!- The minimum number of processes to keep in memory once they're started -><param-name>linger_process</param-name><param-value>1

14、</param-value></init-param>ReportNet 服務交互式報表處理初始化進程數(shù)。默認值為 1,可根據(jù) CPU 數(shù)情況進行調整,通常每個 CPU 可設置 1 個處理。注:提高該屬性設置,可以提高服務器在非使用時段的處理能力。4.1.3 max_non_affine_connections_per_process<init-param><!- Theum number of non-affine connections perprocess -><param-name>max_non_affine_connect

15、ions_per_process</param-name><param-value>4</param-value></init-param>ReportNet 服務交互式報表處理所占線程數(shù)。默認值為 4,可根據(jù) CPU 數(shù)情況進行調整,通常每個 CPU 最大可支持 4 個處理,Windows 環(huán)境建議設置為 2 個處理。注:該值需要和 ReportNet ReportService 服務中的 Number of low affi connections for the interactive report service 值匹配。4.1.4 id

16、le_process_check_interval_ms<init-param><!- Time period between checks for idle or expired processes(in ms) .Everytime we check an idle process we bump its tick count. Every time we usea process the count is reset to 0. If the count ever reaches thevalueof idle_process_max_idle_ticks (below

17、) the process isdestroyed.-><param-name>idle_process_check_interval_ms</param-name><param-value>30000</param-value></init-param>空閑進程檢測時間間隔,默認值為 30000,為毫秒。由于進程的頻繁啟動退出會消耗服務器效率。,可根據(jù)并發(fā)使用情況,減小時間間隔,以提高進程的使用4.1.5 idle_process_max_idle_ticks<init-param><!- number of

18、 idle check ticks before an idle process is killed.-><param-name>idle_process_max_idle_ticks</param-name><param-value>10</param-value></init-param>空閑進程檢測標記,默認值為 10。由于進程的頻繁啟動會消耗服務器,可根據(jù)并發(fā)使用情況,增大設置,以提高進程的使用效率。4.1.6 queue_time_limit_ms<init-param><!- The(in ms)

19、->um time a request is queued before it gives up<param-name>queue_time_limit_ms</param-name><param-value>30000</param-value></init-param>報表服務排隊時間限制,默認值為 30000, 大時間限制,以避免請求被取消。毫秒??筛鶕?jù)并發(fā)情況,增注:該值需要和 ReportNet ReportService 服務中的 Queue time limit of report service in secon

20、ds 值匹配。4.1.7 async_wait_timeout_ms<init-param><!- The amount of time the dispatcher will wait for a async request before it cancels it (in ms) -><param-name>async_wait_timeout_ms</param-name><param-value>30000</param-value></init-param>Dispatcher 請求等待同步時間,默認

21、值為 30000, 況,增大時間限制,以避免請求被取消。注:該值需要和 tomcat 以及 apache 中的連結超時相匹配。毫秒??筛鶕?jù)并發(fā)情4.2 batchreportservice.xml文件路徑:CRN_ROOT webappsp2pdWEB-INFservices batchreportservice.xml注:修改文件后,重啟服務后配置生效。4.2.1 max_process<init-param><!- Theone time ->um number of processes that can be running at<param-name>

22、;max_process</param-name><param-value>2</param-value></init-param>ReportNet 服務批量報表處理所占進程數(shù)。默認值為 2,可根據(jù) CPU 數(shù)情況進行調整,通常每個 CPU 可支持 2 個處理。注:該值需要和 ReportNet BatchReportService 服務中的batch report service processes 值匹配。um number of4.2.2 linger_process<init-param><!- The minimum

23、 number of processes to keep in memory once they're started -><param-name>linger_process</param-name><param-value>1</param-value></init-param>ReportNet 服務批量報表處理初始化進程數(shù)。默認值為 1,可根據(jù) CPU 數(shù)情況進行調整,通常每個 CPU 可設置 1 個處理。注:提高該屬性設置,可以提高服務器在非使用時段的處理能力。4.2.3 max_non_affine_conn

24、ections_per_process<init-param><!- Theum number of non-affine connections perprocess -><param-name>max_non_affine_connections_per_process</param-name><param-value>4</param-value></init-param>ReportNet 服務批量報表處理所占線程數(shù)。默認值為 4,可根據(jù) CPU 數(shù)情況進行調整,通常每個 CPU 最大可支持 4 個處理

25、,Windows 環(huán)境建議設置為 2 個處理。注:該值需要和ReportNet BatchReportService 服務中的Number of low afficonnections for the batch report service 值匹配。4.2.4 idle_process_check_interval_ms<init-param><!- Time period between checks for idle or expired processes(in ms) .Everytime we check an idle process we bump its t

26、ick count. Every time we usea process the count is reset to 0. If the count ever reaches thevalueof idle_process_max_idle_ticks (below) the process isdestroyed.-><param-name>idle_process_check_interval_ms</param-name><param-value>30000</param-value></init-param>空閑進程檢

27、測時間間隔,默認值為 30000,為毫秒。由于進程的頻繁啟動退出會消耗服務器效率。,可根據(jù)并發(fā)使用情況,減小時間間隔,以提高進程的使用4.2.5 idle_process_max_idle_ticks<init-param><!- number of idle check ticks before an idle process is killed.-><param-name>idle_process_max_idle_ticks</param-name><param-value>10</param-value></

28、init-param>空閑進程檢測標記,默認值為 10。由于進程的頻繁啟動會消耗服務器,可根據(jù)并發(fā)使用情況,增大設置,以提高進程的使用效率。4.2.6 queue_time_limit_ms<init-param><!- The(in ms) ->um time a request is queued before it gives up<param-name>queue_time_limit_ms</param-name><!- 4 hours in msec. 0 (block forever) is very dangerous

29、 -><param-value>14400000</param-value></init-param>批量報表處理排隊時間限制,默認值為 14400000,情況,增大時間限制,以避免請求被取消。毫秒。可根據(jù)并發(fā)4.2.7 async_wait_timeout_ms<init-param><!- The amount of time the dispatcher will wait for a async request before it cancels it (in ms) -><param-name>async_

30、wait_timeout_ms</param-name><param-value>14400000</param-value></init-param>Dispatcher 請求等待同步時間,默認值為 14400000, 詢情況,增大時間限制,以避免請求被取消。注:該值需要和 tomcat 以及 apache 中的連結超時相匹配。毫秒。可根據(jù)并發(fā)查4.3 CQEConfig.xml主要是與數(shù)據(jù)庫參數(shù)設置,文件路徑:CRN_ROOTconfiguration CQEConfig.xml.sample注:將 CQEConfig.xml.sample

31、文件名修改為 CQEConfig.xml 后,重啟服務后配置生效。4.3.1 Timeout<!- Description: Database connection timeout. Default is 900 seconds (15 minutes) -><entry name="Timeout" value="900"/>應用數(shù)據(jù)庫連接超時設置。默認值為 900,秒。4.3.2 PoolSize<!- Description: Database connection pool size. -><!-Defa

32、ult=20 ->um number of connections managed by the report server.<entry name="PoolSize" value="20"/>應用數(shù)據(jù)庫連接池最大連接數(shù)設置。默認值為 20。4.3.3 queryReuse<section name="QueryEngine"><!- Description:must be uncommented. ->Controls the queryReuse feature. The entry&l

33、t;!- A value of 0 will disable queryReuse. -><!- The default value of 5 means that 5 result sets are reused. The um is set to 10. -><entry name="queryReuse" value="5" /><!- -></section>緩沖設置。默認值為 5,最大值為 10,設置為 0 將關閉緩沖。4.4 ppds_cfg.xml主要進行緩存和日志參數(shù)設置,文件路徑:c

34、ognosc8configuration ppds_cfg.xml注:重啟服務后配置生效。4.4.1 ReadCacheSize根據(jù)具體環(huán)境情況適當提高 ReadCacheSize, 可減少用戶時服務器的磁盤IO。提高速度。4.4.2 pcQueryLogFile建議生產環(huán)境關閉該日志的跟蹤,一般默認也是關閉狀態(tài);5 Cognos ReportNet 服務器管理設置5.1 Content Store 數(shù)據(jù)庫連接池設定在瀏覽器內輸入 Cognos ReportNet 門戶登陸地址,在登入門戶后點擊 Tools 下拉菜單下的服務器管理(Cognos Administration),在系統(tǒng)下,選擇選

35、擇對應的服務,在下方列出的所有服務中,選擇 ContentManagerService 的屬性,點擊設置(Settings),在列出的環(huán)境(Enviorment)后點擊編輯(Edit),將“改寫從父條目獲取的設置”(Override the settings acquired from the parent entry)選中,在出現(xiàn)的下方列表中可以設置 Content Store 數(shù)據(jù)庫連接池的幾項屬性。下表是上圖中四個參數(shù)的屬性說明參見安裝配置手冊Cognos® 8 管理和安全性指南中的管理注:Content Manager 的數(shù)據(jù)庫連接池設置章節(jié)。5.2 開啟審計功能在瀏覽器內輸

36、入 Cognos ReportNet 門戶登陸地址,在登入門戶后點擊 Tools 下拉菜單下的服務器管理(Cognos Administration),選擇服務器的屬性后,點擊設置(Settings),在下方的列表中可以對審核等級等屬性進行設置。5.2.1 本地日志將該設置選擇為 Yes 后,才能看到詳細的日志信息??梢酝ㄟ^對日志的查看達到服務器檢測的效果,并根據(jù)檢測結果適當調節(jié)服務器設置,使之達到最優(yōu)。5.2.2 日志等級說明下表說明了每個日志級別的明細。5.2.3 報表驗證級別和日志級別有四個報表驗證級別和五個日志級別。下表顯示了它們之間的對應關系。日志級別設置得越高,就越降低系統(tǒng)性能。通

37、常情況下,您可以將級別設置為“最小”或“基本”來收集錯誤,或設置為“請求”來收集錯誤和警告。注:在 8.3 版本中,該設置在 Cognos Administration 中的調度程序和服務。詳情請參見具體可參照cognos 管理和安全性指南中第 3 章設置日志。6 提高數(shù)據(jù)庫速度Cognos 和數(shù)據(jù)庫間參數(shù)在 cer*bincogdm*.ini 文件中,(*根據(jù)版本不同是安裝目錄的數(shù)字,*根據(jù)連接的數(shù)據(jù)庫不同,是對應數(shù)據(jù)庫名稱的關鍵字)以 oracle 數(shù)據(jù)庫為例,參數(shù)在 cogdmor.ini 文件中,打開這個文件查找字符串Fetch Number of Rows=去掉這行前面的分號,將 1

38、0 改成 2000;這樣這行就成了 Fetch Number of Rows=2000,表示是每次從數(shù)據(jù)庫取 2000 條數(shù)據(jù)。其他數(shù)據(jù)庫基本上都有類似的配置。用以提高從數(shù)據(jù)庫中提取數(shù)據(jù)的速度。7 加大緩存cer*binCer*.ini(*根據(jù)版本不同是安裝目錄的數(shù)字): ServicesSortMemory=5120(這里 SortMemory是 2kbytes,5120 代表 2k x 5120 = 10M)(技巧:一般 SortMemory 取空閑內存的十分之一到八分之一大?。㏄owerPlay DataServerWriteCacheSize=16384(這里 WriteCahceSi

39、ze是 Kbytes,16384 代表 16M)(技巧:一般 WriteCacheSize 可以通過估計生成的 cube 大小得到,和生成的cube 大小差不多就可以了)在 2G 內存的環(huán)境中,如果加載操作系統(tǒng)完成,并啟動所有所需服務后系統(tǒng)空閑 800M 內存空間,則可設置:ServicesSortMemory=51200 PowerPlay DataServerWriteCahceSize=819208 更改ReportNet 啟動服務配置(1). 啟動 Cognos Configuration。(2). 點擊 ReportNet service 結點下的 Cognos ReportNet

40、服務,右鍵點擊刪除。(3).新建服務,命名為 Cognos ReportNet。(可根據(jù)服務器情況分別采用三種不同類型服務,三種類型服務之間的主要區(qū)別為內存分配大小。)(4).在右側屬性欄的 Dispatcherum memory in MB 設置中,將其屬性設置為 1408。(服務器 4G 以下內存,建議最大設置為 1408,否則 ReoprtNet 服務無法正常啟動。)(5).保存配置,重啟服務。注:如果采用啟動方式,則需要對 startup.bat rem "for machines with 2GB RAM"rem set CATALINA_OPTS=-Xmx115

41、2m -XX:MaxNewSize=576m-XX:NewSize=288m-XX:MaxPermSize=128m %DEBUG_OPTS%選擇適當?shù)姆掌黝愋?,然后將第二行的rem注釋去掉,保存啟動。進行修改。,重新9 修改Cognos Configuration 配置提高 Cognos8 速度如果我們的服務器配置較高(超過 2G 內存),我們就可以考慮通過增加分配給Cognos8 的內存來提高其運行速度。進入 Cognos Configuration。修改下列10 分布式部署分布式部署可以大大提升 Cognos ReportNet 服務器的負載能力,同時容錯保護功能可以使服務器更為穩(wěn)定的

42、運行,很好的支持大用戶量的并發(fā)使用。二:COGNOS 設計調優(yōu)1 Report Stuido 設計調優(yōu)1.1 報表函數(shù)的使用在報表函數(shù)的使用上,盡可能使用應用數(shù)據(jù)庫能夠的本地數(shù)據(jù)庫函數(shù),函數(shù)列表中的通用函數(shù),在處理時會將函數(shù)放在報表服務器進行運算,從而增大了報表服務器的性能開銷。注:可以通過 Generated SQL 查看使用函數(shù)是否是提交給本地數(shù)據(jù)庫進行運算。1.2 過濾條件順序調整根據(jù)數(shù)據(jù)庫優(yōu)化策略,可能需要將過濾條件的順序進行調整,可以在 Filters 窗口中進行設置。這里只有將過濾條件的 Usage 屬性設置為 Required,才會在Generated SQL 中看到對應的 wh

43、ere 子句過濾條件。注:因表關聯(lián)而自動生成的 where 子句會自動組織在 where 子句的最后,該順序不能調整。1.3字段、表順序調整根據(jù)數(shù)據(jù)庫的優(yōu)化策略,可能需要將字段的順序進行調整,可以在 DataItems 窗口中進行設置。SQL 語句中,F(xiàn)rom 關鍵字后面的表順序是按照select 關鍵字后出現(xiàn)的字段順序進行設置的。在為表順序進行設置時,屬性為Identifier 或 Attribute 的字段比屬性為 Fact 的字段在為表排序時的優(yōu)先級要高, 即,先以 Identifier、Attribute 字段的出現(xiàn)順序為表進行排序,如果沒有上述兩類字段,才以 Fact 字段的出現(xiàn)順序

44、為表進行排序。注:在 Framework 中將字段的 usage 屬性分別設置為 Identifier、Attribute、Fact。1.4 聚合前后設置過濾條件將過濾條件的 Application 屬性設置為 After aggregation 或 Before aggregation 可以調整過濾條件在聚合前或是聚合后生效。After aggregation 生成過濾條件的SQL 語句使用的是關鍵字having,而Before aggregation 生成過濾條件的SQL語句使用的是關鍵字 where。1.5 取消報表自動分組提高明細報表速度如果報表要展現(xiàn)明細數(shù)據(jù),不想使用任何匯總,我們可

45、以到此報表對應的將自動分組屬性定義為否。中修改地方:Tabular M對象的屬性 Auto Group & Summarize 可以設置當前SQL 語句的中是否加入 distinct、sum、group by 這樣的關鍵字。默認情況下,該屬性設置為 Yes,可以根據(jù)雜度。情況關掉此開關項,減少 SQL 語句的復1.6 字段排序設置管理器的數(shù)據(jù)項(Data Item)對象中有預排序(Pre-Sort)的屬性設在置,可以在此設置排序,生成的 SQL 語句中會出現(xiàn) Order By 的關鍵字。在 Query 的數(shù)據(jù)項(Data Item)對象中有排序(Sort)的屬性設置,也可以在此設置排序

46、, 生成的 SQL 語句中同樣會出現(xiàn) Order By 的關鍵字。如果在查詢 管理器中也對該數(shù)據(jù)項的預排序屬性進行設置,則以 Query 中的數(shù)據(jù)項排序屬性為準。1.7 自動排序設置在 Query 的 Auto-sort 屬性中可以為設置是否自動排序。如果選擇是,則會在生成的 SQL 語句中自動加入 Order By 關鍵字,排序字段將自動根據(jù)數(shù)據(jù)項的屬性進行設置(如果 字段的 usage 屬性為 Attribute、Identifier 則排序,如果為 Fact 則不排序);如果選擇否、則不排序;如果選擇最小,則根據(jù)數(shù)據(jù)項的排序屬性進行排序設置。默認值為最小。注:如果進行了報表分組操作,則所

47、有分組的字段會自動進行排序。1.8 報表Processing 設置在Query 的 Processing 屬性中可以為設置 SQL 的處理設置。Cognos ReportStudio 會將報表的所有設置首先轉換為Cognos SQL 提交給報表服務器,服務器在進行必要處理后,會將 SQL 語句轉換為應用數(shù)據(jù)庫本地執(zhí)行的 SQL 語句,進行數(shù)據(jù)庫處理。為提高報表的處理速度,要盡可能的將報表的處理運算放在數(shù)據(jù)庫進行,以保證其運行速度。將該屬性設置為 Database only 會將報表頁面生成的 Cognos SQL 不經報表服務器處理全部轉換為數(shù)據(jù)庫能夠執(zhí)行的本地數(shù)據(jù)庫SQL,如果將該屬性設置為

48、 Limited Local,則將報表頁面生成的 Cognos SQL 先進行必要的報表服務器運算,然后再將剩余的部分提交給數(shù)據(jù)庫進行本地 SQL 的處理。默認值為 Framework 中為 Datasource 對象的設置的 queryProcessing屬性。注:雖然數(shù)據(jù)庫的運算效率較高,但并不是所有的報表頁面請求都可以完全提交給數(shù)據(jù)庫進行,一些報表的特殊處理必須由報表服務器進行。1.9 外連接設置在 Query 的 Outer Join Allowed 屬性中可以為設置是否外連接操作。由于外連接會帶來數(shù)據(jù)庫的性能,因此可以根據(jù)情況適時調整外連接;如果將該屬性設的操作設置。如果將該屬性設置

49、為 Allow,則外連接置為 Warning,雖然也會外連接,但是在校驗報表時會警告存在外連接;如果將該屬性設置為 Deny,則拒絕外連接Edit Governors 下的 Outer joins 屬性設置。默認值為 Framework 中1.10 向量乘積設置在Query 的Cross Product Allowed 屬性中可以為設置是否允向量乘積操作。所謂向量乘積,指中的數(shù)據(jù)項來自于沒有建立任何關聯(lián)關系的主題。如果將該屬性設置為 Allow,則向量乘積,結果為主題間建立笛卡兒乘積的結果;如果將該屬性設置為 Warning,雖然向量乘積,但是在校驗報表時會警告存在向量乘積;如果將該屬性設置為

50、 Deny,則拒絕向量乘積。默認值為 Framework 中 Edit Governors 下的 Cross-Product joins 屬性設置。1.11 使用 With 子句在 Query 的 Use SQL With Clause 屬性中可以為設置是否使用 With 子句。部分數(shù)據(jù)庫例如 Oracle 支持 With 關鍵字,當中嵌套子時,可以通過With 子句的使用,減輕報表服務器對 Cognos SQL 的處理,從而提升報表的運行性能。如果將該屬性設置為 Yes,則使用 With 關鍵字,中生成的Native SQL 將出現(xiàn) With 子句;如果將該屬性設置為 No,雖然拒絕使用 W

51、ith 關鍵字。默認值為 Framework 中 Edit Governors 下的 Use WITH clause whengenerating SQL 屬性設置。1.12 報表服務器本地緩存設置在 Query 的 Use Local Cache 屬性中可以為設置是否使用本地緩存。如果將該屬性設置為 Yes,則啟用服務器的本地緩存,服務器將為結果保存在session 中,當用戶在瀏覽器內再次打開同一張報表時,結果將取自緩存,從而減輕了數(shù)據(jù)庫的負載;如果將該屬性設置為 No,則禁用服務器的本地緩存,結果全部取自數(shù)據(jù)庫的實時數(shù)據(jù)。默認值為 Framework 中 EditGovernors 下的

52、 Allow usage of local cache 屬性設置。2 Framework Manager 設計調優(yōu)2.1 手寫 SQL 定制主題右鍵點擊主題的菜單項 Edit Definition可以進入 SQL 語句編寫框,調整查詢主題的 SQL 語句。默認情況下,這里的 SQL 語句為Cognos SQL 類型。如果需要編寫應用數(shù)據(jù)庫可以直接運行的本地SQL 需要將這里的SQL 類型進行設置。點擊右上方的 Options 按鈕,選擇 SQL SettingsNative。頁,選擇 SQL Type 為項引自另一主題,則該主題的 SQL Settings主題的此項設置。注:如果主題中的屬性設

53、置會繼承原2.2 函數(shù)列表指定在菜單項 Actions 中選擇 Specify Package Function List指定報表定制中可以使用的數(shù)據(jù)庫函數(shù)列表。將除應用數(shù)據(jù)庫意外的其他數(shù)據(jù)庫類型從 Selected function sets 中選到 Available function sets 中,避免在報表定制中,錯誤使用數(shù)據(jù)庫函數(shù)。2.3 表關聯(lián)設定在建立表關聯(lián)(Create Relationship)時,盡量避免使用外關聯(lián)關系(包括左外關聯(lián)、右外關聯(lián)、全外關聯(lián))。外關聯(lián)的使用會使數(shù)據(jù)庫的驟增,從而影響前端報表的生成。在星型結構、雪花型結構的數(shù)據(jù)倉庫模型中,盡量按照一對一、一對多的關

54、聯(lián)關系設定維表與實事表之間的關聯(lián),Cognos ReportNet Server 會依照這里的關聯(lián)關系自動優(yōu)化提交給數(shù)據(jù)庫的 SQL 語句。如果關聯(lián)關系中出現(xiàn)了環(huán)狀連接關系,可以通過別名表或是快捷鍵的方式解決環(huán)狀連接問題, 具體原理請參照下圖。環(huán)狀連接一:解決方案:建立多個 B 的副本,可以是別名表或者是快捷鍵。環(huán)狀連接二:解決方案:建立 B 或 D 的別名表或者快捷鍵,從而打開閉環(huán)回路環(huán)狀連接三:2.4 Edit Governors性能設置在菜單項 Project 中選擇 Edit Governors,可以設置其他四項性能設置加以說明。的性能。主要2.4.1 Report table lim

55、its 設置該屬性設置報表中運行 SQL 所涉及的 TABLE 數(shù)量,如果超過設定值則提示錯誤,默認值為 0,沒有限制,個。2.4.2 Data retrieval limits 設置該屬性設置報表中運行 SQL 返回結果的數(shù)量,如果超過設定值則提示錯誤,默認值為 0,沒有限制,行。2.4.3 Query execution time limits 設置該屬性設置報表中運行 SQL 的執(zhí)行時間,如果超過設定值則提示錯誤,默認值為 0,沒有限制,秒。2.4.4 Large text items limit 設置該屬性設置報表中運行 SQL 返回大文字塊的字符數(shù)量限制,如果超過設定值則提示錯誤,默

56、認值為 0,沒有限制,字。3 Transformer 和 Cube 設計調優(yōu)3.1 啟用多 CPU數(shù)據(jù)源:在 Transformer 中,點擊開 DataSource 的屬性頁面:3.2 通過crosstab caching 提高 cube速度進入:transformercube 屬性processing;通過開啟 crosstab caching 提高cube速度。但此方增加一定的 cube 體積。3.3 恰當分配數(shù)據(jù)庫和Cognos 之間的運算。OLAP 服務器通常對類似數(shù)據(jù)庫中分組,匯總這樣的操作速度相對較快,如果 SQL中有很多分組和匯總導致數(shù)據(jù)庫返回數(shù)據(jù)速度比較慢時,可以嘗試去掉分組

57、和匯總,讓 OLAP 服務器直接明顯的提高 Cube 生成速度。數(shù)據(jù),使用 OLAP 的方式運算,大部分情況下能夠3.4 恰當定義維度粒度有時候維度最低層次的節(jié)點比較多,從而造成立方體過于龐大,此時可以分析如此細的粒度對分析有多大幫助?提高立方體粒度減小立方體大小可以說是最有效的提高速度的方法。對于細粒度匯總可以通過報表進行展示。3.5 優(yōu)化參數(shù)提高cube 在cognos8 上的展示性能。如果生成的立方體是通過 cognos8 平臺進行展示,我們可以將D:cognoscer4bin 目錄下的 trnsfrmr.ini 文件中的 EnablePCOptimizer 設置為 1, 從而優(yōu)化立方體

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論