當前位置:首頁 » 服務存儲 » 並行存儲性能調優
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

並行存儲性能調優

發布時間: 2022-08-27 16:38:54

A. 主存儲器常採用並行存儲器的目的

主存儲器常採用並行存儲器的目的是通過並行主存儲器和設置Cache來提高速度。
雙埠存儲器和多體交叉存儲器屬於並行存儲器。
目前通常採用多級存儲器體系結構,有高速緩沖存儲器、主存儲器、外存儲器。

B. 阿姆達爾定律的並行存儲性能中的阿姆達爾定律

並行存儲系統的性能分析可以通過簡單的性能模型展開,這其中主要就是阿姆達爾定律。阿姆達爾定律是一個非常簡單而通用的並行處理性能模型。這里以程序的並行運行為例說明該定律,其他情況比較容易進行推推導分析。由於單個程序內部不一定全部可以實現並行處理。那麼假設f為程序中必須進行串列操作的部分比率,其餘的1-f部分則認為可以完全在硬體上並行執行,而且P表示硬體的並行度。P在不同形式的計算機系統中代表著不同的含義:
(1)在MIMD系統中,P是處理器的數目;
(2)在SIMD系統中,P是正在處理的數據數目;
(3)在流水方式工作的SIMD系統中,P是矢量速度和標量速度的比;
(4)在流水方式工作的MIMD系統中,P是流水線功能段的數目。
為了在並行度p的硬體上獲得50%以上的效率,穿行操縱部分比率不能超過1/(P-1)。隨著P的增加,相應條件也越來越難以滿足。最早應用Amdahl定律對串列處理進行性能評價,但是在各種並行工作環境中Amdahl定律也非常有用。例如:在並行度很高的系統中,輕微的非並行代碼會對系統帶來很大的影響;快速的矢量處理器必須具有一個快速的標量處理器以獲得其峰值性能的相當大部分能力;對當前穿行執行的小部分代碼進行並行完成也可以增加相當大的效率。
雖然Amdahl定律建立了一個非常簡單的行囊模型,但也不能過於簡單化使用。系統規模,特別是處理器數目P通常為了處理更大的問題而不斷增加,而通常問題的規模的增加並不能顯著增加串列工作量。這種情況下,f與問題大小成反比。如果問題大小歲並行度P增加而增大,那麼隨著問題和系統規模的增大,性能表現呈現出收縮性。在計算機系統中,Amdahl定律也可表述為,對系統內某部分的並行化改進造成的整體性能提升量取決於該部分在整體過程中執行的時間,即經常性事件或其部分的改進造成的整體性能得到較大提升。加速比也可以表示為使用改進方式完成整個任務時間的比值。實際上有兩個主要因素影響加速比,第一個因素是需要改進提高速度部分在總執行時間中所佔的比值。實際上有兩個主要因素影響加速比,第一個因素是需要改進提高速度部分在總執行時間中所佔的比例。譬如,1s完成的人物其中有200ms可以改進,那麼該比例救贖20%,可以稱為改進比例。第二個因素是採用改進方式後相應部分速度提高的程度。可以用未改進情況下該部分執行時間與改進後執行時間的比值衡量。改進加速比一般都大於1。那麼改進後的任務總時間為沒有改進的部分執行時間和改進部分執行時間的和。

C. 如何設置使oracle10g性能最優 性能調優 步驟

一、 磁碟方面調優
1. 規范磁碟陣列
RAID 10比RAID5更適用於OLTP系統,RAID10先鏡像磁碟,再對其進行分段,由於對數據的小規模訪問會比較頻繁,所以對OLTP適用。而RAID5,優勢在於能夠充分利用磁碟空間,並且減少陣列的總成本。但是由於陣列發出一個寫入請求時,必須改變磁碟上已修改的塊,需要從磁碟上讀取「奇偶校驗」塊,並且使用已修改的塊計算新的奇偶校驗塊,然後把數據寫入磁碟,且會限制吞吐量。對性能有所影響,RAID5適用於OLAP系統。

2. 數據文件分布
分離下面的東西,避免磁碟競爭
Ø SYSTEM表空間
Ø TEMPORARY表空間
Ø UNDO表空間
Ø 聯機重做日誌(放在最快的磁碟上)
Ø 操作系統磁碟
Ø ORACLE安裝目錄
Ø 經常被訪問的數據文件
Ø 索引表空間
Ø 歸檔區域(應該總是與將要恢復的數據分離)
例:
² /: System
² /u01: Oracle Software
² /u02: Temporary tablespace, Control file1
² /u03: Undo Segments, Control file2
² /u04: Redo logs, Archive logs, Control file4
² /u05: System, SYSAUX tablespaces
² /u06: Data1 ,control file3
² /u07: Index tablespace
² /u08: Data2
通過下列語句查詢確定IO問題
select name ,phyrds,phywrts,readtim,writetim
from v$filestat a,v$datafile b
where a.file#=b.file# order by readtim desc;

3. 增大日誌文件

u 增大日誌文件的大小,從而增加處理大型INSERT,DELETE,UPDATE操作的比例
查詢日誌文件狀態
select a.member,b.* from v$logfile a,v$log b where a.GROUP#=b.GROUP#
查詢日誌切換時間
select b.RECID,to_char(b.FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') start_time,a.RECID,to_char(a.FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') end_time,round(((a.FIRST_TIME-b.FIRST_TIME)*25)*60,2) minutes
from v$log_history a ,v$log_history b
where a.RECID=b.RECID+1
order by a.FIRST_TIME desc

增大日誌文件大小,以及對每組增加日誌文件(一個主文件、一個多路利用文件)
u 增大LOG_CHECKPOINT_INTERVAL參數,現已不提倡使用它
如果低於每半小時切換一次日誌,就增大聯機重做日誌大小。如果處理大型批處理任務時頻繁進行切換,就增大聯機重做日誌數目。
alter database add logfile member 『/log.ora』 to group 1;
alter database drop logfile member 『/log.ora』;

4. UNDO表空間
修改三個初始參數:
UNDO_MANAGEMENT=AUTO
UNDO_TABLESPACE=CLOUDSEA_UNDO
UNDO_RETENTION=<#of minutes>

5. 不要在系統表空間中執行排序

二、 初始化參數調優
32位的定址最大支持應該是2的32次方,就是4G大小。但實際中32位系統(XP,windows2003等MS32位系統, ubuntu等linux32 位系統)要能利用4G內存,都是採用內存重映射技術。需要主板及系統的支持。如果關閉主板BIOS的重映射功能,系統將不能利用4G內存,可能只達3.5G.而在windows下看到的一般為3.25G。所以SGA設置為內存的40%,但不能超過3.25G
1. 重要初始化參數
l SGA_MAX_SIZE
l SGA_TARGET
l PGA_AGGREGATE_TARGET
l DB_CACHE_SIZE
l SHARED_POOL_SIZE

2. 調整DB_CACHE_SIZE來提高性能
它設定了用來存儲和處理內存中數據的SGA區域大小,從內存中取數據比磁碟快10000倍以上
根據以下查詢出數據緩存命中率
select sum(decode(name,'physical reads',value,0)) phys,
sum(decode(name,'db block gets',value,0)) gets,
sum(decode(name,'consistent gets',value,0)) con_gets,
(1- (sum(decode(name,'physical reads',value,0))/(sum(decode(name,'db block gets',value,0))+sum(decode(name,'consistent gets',value,0)) ) ))*100 Hitratio
from v$sysstat;
一個事務處理程序應該保證得到95%以上的命中率,命中率從90%提高到98%可能會提高500%的性能,ORACLE正在通過CPU或服務時間與等待時間來分析系統性能,不太重視命中率,不過現在的庫緩存和字典緩存仍將命中率作為基本的調整方法。

在調整DB_CACHE_SIZE時使用V$DB_CACHE_ADVICE
select size_for_estimate, estd_physical_read_factor, estd_physical_reads
from v$db_cache_advice
where name = 'DEFAULT';

如果查詢的命中率過低,說明缺少索引或者索引受到限制,通過V$sqlAREA視圖查詢執行緩慢的SQL

3. 設定DB_BLOCK_SIZE來反映數據讀取量大小
OLTP一般8K
OLAP一般16K或者32K

4. 調整SHARED_POOL_SIZE以優化性能

正確地調整此參數可以同等可能地共享SQL語句,使得在內存中便能找到使用過的SQL語句。為了減少硬解析次數,優化對共享SQL區域的使用,需盡量使用存儲過程、使用綁定變數

保證數據字典緩存命中率在95%以上
select ((1- sum(getmisses)/(sum(gets)+sum(getmisses)))*100) hitratio
from v$rowcache
where gets+getmisses <>0;

如果命中率小於 99%,就可以考慮增加shared pool 以提高library cache 的命中率

SELECT SUM(PINS) "EXECUTIONS",SUM(RELOADS) "CACHE MISSES WHILE EXECUTING",1 - SUM(RELOADS)/SUM(PINS)
FROM V$LIBRARYCACHE;

通常規則是把它定為DB_CACHE_SIZE大小的50%-150%,在使用了大量存儲過程或程序包,但只有有限內存的系統里,最後分配為150%。在沒有使用存儲過程但大量分配內存給DB_CACHE_SIZE的系統里,這個參數應該為10%-20%

5. 調整PGA_AGGREGATE_TARGET以優化對內存的應用
u OLTP :totalmemory*80%*20%
u DSS: totalmemory*80%*50%

6. 25個重要初始化參數
² DB_CACHE_SIZE:分配給數據緩存的初始化內存
² SGA_TARGET:使用了自動內存管理,則設置此參數。設置為0可禁用它
² PGA_AGGREGATE_TARGET:所有用戶PGA軟內存最大值
² SHARED_POOL_SIZE:分配給數據字典、SQL和PL/SQL的內存
² SGA_MAX_SIZE:SGA可動態增長的最大內存
² OPTIMIZER_MODE:
² CURSOR_SHARING:把字面SQL轉換成帶綁定變更的SQL,可減少硬解析開銷
² OPTIMIZER_INDEX_COST_ADJ:索引掃描成本和全表掃描成本進行調整,設定在1-10間會強制頻繁地使用索引,保證索引可用性
² QUERY_REWRITE_ENABLED:用於啟用具體化視圖和基於函數的索引功能
² DB_FILE_MULTIBLOCK_READ_COUNT:對於全表掃描,為了更有效執行IO,此參數可在一次IO中讀取多個塊
² LOG_BUFFER:為內存中沒有提交的事務分配緩沖區(非動態參數)
² DB_KEEP_CACHE_SIZE:分配給KEEP池或者額外數據緩存的內存
² DB_RECYCLE_CACHE_SIZE:
² DBWR_IO_SLAVES:如果沒有非同步IO,參數等同於DB_WRITER_PROCESSES模擬非同步IO而分配的從SGA到磁碟的寫入器數。如果有非同步IO,則使用DB_WRITER_PROCESSES設置多個寫程序,在DBWR期間更快地寫出臟塊
² LARGE_POOL_SIZE:分配給大型PLSQL或其他一些很少使用的ORACLE選項LARGET池的總塊數
² STATISTICS_LEVEL:啟用顧問信息,並可選擇提供更多OS統計信息來改進優化器決策。默認:TYPICAL
² JAVA_POOL_SIZE:為JVM使用的JAVA存儲過程所分配的內存
² JAVA_MAX_SESSIONSPACE_SIZE:跟蹤JAVA類的用戶會話狀態所用內存上限
² MAX_SHARED_SERVERS:當使用共享伺服器時的共享伺服器上限
² WORKAREA_SIZE_POLICY:啟用PGA大小自動管理
² FAST_START_MTTR_TARGET:完成一次崩潰恢復的大概時間/S
² LOG_CHECKPOINT_INTERVAL:檢查點頻率
² OPEN_CURSORS:指定了保存用戶語句的專用區域大小,如此設置過高會導致ORA-4031
² DB_BLOCK_SIZE:資料庫默認塊大小
² OPTIMIZER_DYNAMIC_SAMPLING:控制動態抽樣查詢讀取的塊數量,對正在使用全局臨時表的系統非常有用

三、 SQL調優1. 使用提示
1.1 改變執行路徑
通過OPTIMIZER_MODE參數指定優化器使用方法,默認ALL_ROWS
Ø ALL_ROWS 可得最佳吞吐量執行查詢所有行
Ø FIRST_ROWS(n) 可使優化器最快檢索出第一行:
select /*+ FIRST_ROWS(1) */ store_id,… from tbl_store

1.2 使用訪問方法提示
允許開發人員改變訪問的實際查詢方式,經常使用INDEX提示
Ø CLUSTER 強制使用集群
Ø FULL
Ø HASH
Ø INDEX 語法:/*+ INDEX (TABLE INDEX1,INDEX2….) */ COLUMN 1,….
當不指定任何INDEX時,優化器會選擇最佳的索引
SELECT /*+ INDEX */ STORE_ID FROM TBL_STORE
Ø INDEX_ASC 8I開始默認是升序,所以與INDEX同效
Ø INDEX_DESC
Ø INDEX_COMBINE 用來指定多個點陣圖索引,而不是選擇其中最好的索引
Ø INDEX_JOIN 只需訪問這些索引,節省了重新檢索表的時間
Ø INDEX_FFS 執行一次索引的快速全局掃描,只處理索引,不訪問具體表
Ø INDEX_SS
Ø INDEX_SSX_ASC
Ø INDEX_SS_DESC
Ø NO_INDEX
Ø NO_INDEX_FFS
Ø NO_INDEX_SS
1.3 使用查詢轉換提示
對於數據倉庫非常有幫助
Ø FACT
Ø MERGE
Ø NO_EXPAND 語法:/*+ NO_EXPAND */ column1,…
保證OR組合起的IN列表不會陷入困境,/*+ FIRST_ROWS NO_EXPAND */
Ø NO_FACT
Ø NO_MERGE
Ø NO_QUERY_TRANSFORMATION
Ø NO_REWRITE
Ø NO_STAR_TRANSFORMATION
Ø NO_UNSET
Ø REWRITE
Ø STAR_TRANSFORMATION
Ø UNSET
Ø USE_CONCAT

1.4 使用連接操作提示
顯示如何將連接表中的數據合並在一起,可用兩提示直接影響連接順序。LEADING指定連接順序首先使用的表,ORDERED告訴優化器基於FROM子句中的表順序連接這些表,並使用第一個表作為驅動表(最行訪問的表)
ORDERED語法:/*+ ORDERED */ column 1,….
訪問表順序根據FROM後的表順序來
LEADING語法:/*+ LEADING(TABLE1) */ column 1,….
類似於ORDER,指定驅動表
Ø NO_USE_HASH
Ø NO_USE_MERGE
Ø NO_USE_NL
Ø USE_HASH前提足夠的HASH_AREA_SIZE或PGA_AGGREGATE_TARGET
通常可以為較大的結果集提供最佳的響應時間
Ø USE_MERGE
Ø USE_NL 通常可以以最快速度返回一個行
Ø USE_NL_WITH_INDEX

1.5 使用並行執行
Ø NO_PARALLEL
Ø NO_PARALLEL_INDEX
Ø PARALLEL
Ø PARALLEL_INDEX
Ø PQ_DISTRIBUTE

1.6 其他提示
Ø APPEND 不會檢查當前所用塊中是否有剩餘空間,而直接插入到表中,會直接將數據添加到新的塊中。
Ø CACHE 會將全表掃描全部緩存到內存中,這樣可直接在內存中找到數據,不用在磁碟上查詢
Ø CURSOR_SHARING_EXACT
Ø DRIVING_SITE
Ø DYNAMIC_SAMPLING
Ø MODEL_MIN_ANALYSIS
Ø NOAPPEND
Ø NOCACHE
Ø NO_PUSH_PRED
Ø NO_PUSH_SUBQ
Ø NO_PX_JOIN_FILTER
Ø PUSH_PRED
Ø PUSH_SUBQ 強制先執行子查詢,當子查詢很快返回少量行時,這些行可以用於限制外部查詢返回行數,可極大地提高性能
例:select /*+PUSH_SUBQ */ emp.empno,emp.ename
From emp,orders
where emp.deptno=(select deptno from dept where loc=』1』)
Ø PX_JOIN_FILTER
Ø QB_NAME

2. 調整查詢

2.1 在V$SQLAREA中選出最佔用資源的查詢

HASH_VALUE:SQL語句的Hash值。
ADDRESS:SQL語句在SGA中的地址。
PARSING_USER_ID:為語句解析第一條CURSOR的用戶
VERSION_COUNT:語句cursor的數量
KEPT_VERSIONS:
SHARABLE_MEMORY:cursor使用的共享內存總數
PERSISTENT_MEMORY:cursor使用的常駐內存總數
RUNTIME_MEMORY:cursor使用的運行時內存總數。
SQL_TEXT:SQL語句的文本(最大隻能保存該語句的前1000個字元)。
MODULE,ACTION:用了DBMS_APPLICATION_INFO時session解析第一條cursor時信息
SORTS: 語句的排序數
CPU_TIME: 語句被解析和執行的CPU時間
ELAPSED_TIME: 語句被解析和執行的共用時間
PARSE_CALLS: 語句的解析調用(軟、硬)次數
EXECUTIONS: 語句的執行次數
INVALIDATIONS: 語句的cursor失效次數
LOADS: 語句載入(載出)數量
ROWS_PROCESSED: 語句返回的列總數
select b.username,a.DISK_READS,a.EXECUTIONS,a.DISK_READS/decode(a.EXECUTIONS,0,1,a.EXECUTIONS) rds_exec_ratio,a.SQL_TEXT
from v$sqlarea a ,dba_users b
where a.PARSING_USER_ID=b.user_id and a.DISK_READS>100 order by a.DISK_READS desc;

2.2 在V$SQL中選出最佔用資源的查詢
與V$SQLAREA類似
select * from
(select sql_text,rank() over (order by buffer_gets desc) as rank_buffers,to_char(100*ratio_to_report(buffer_gets) over (),'999.99') pct_bufgets from v$sql)
where rank_buffers <11

2.3 確定何時使用索引
² 當查詢條件只需要返回很少的行(受限列)時,則需要建立索引,不同的版本中這個返回要求不同
V5:20% V7:7% V8i,V9i:4% V10g: 5%
查看錶上的索引
select a.table_name,a.index_name,a.column_name,a.column_position,a.table_owner
from dba_ind_columns a
where a.table_owner='CLOUDSEA'

² 修正差的索引,可使用提示來限制很差的索引,如INDEX,FULL提示
² 在SELECT 和WHERE中的列使用索引
如: select name from tbl where no=?
建立索引:create index test on tbl(name,no) tablespace cloudsea_index storage(….)
對於系統中很關鍵的查詢,可以考慮建立此類連接索引

² 在一個表中有多個索引時可能出現麻煩,使用提示INDEX指定使用索引
² 使用索引合並,使用提示INDEX_JOIN
² 基於函數索引,由於使用了函數造成查詢很慢.必須基於成本的優化模式,參數:
QUERY_REWRITE_ENALED=TRUE
QUERY_REWRITE_INTEGRITY=TRUSTED (OR ENFORCED)
create index test on sum(test);

2.4 在內存中緩存表
將常用的相對小的表緩存到內存中,但注意會影響到嵌套循環連接上的驅動表
alter table tablename cache;

2.5 使用EXISTS 與嵌套子查詢 代替IN
SELECT …FROM EMP WHERE DEPT_NO NOT IN (SELECT DEPT_NO FROM DEPT WHERE DEPT_CAT=』A』);
(方法一: 高效)
SELECT ….FROM EMP A,DEPT B WHERE A.DEPT_NO = B.DEPT(+) AND B.DEPT_NO IS NULL AND B.DEPT_CAT(+) = 『A』
(方法二: 最高效)
SELECT ….FROM EMP E WHERE NOT EXISTS (SELECT 『X』 FROM DEPT D WHERE D.DEPT_NO = E.DEPT_NO AND DEPT_CAT = 『A』);

四、 使用STATSPACK和AWR報表調整等待和閂鎖

1. 10GR2里的腳本
在$ORACLE_HOME/RDBMS/ADMIN下

Spcreate.sql 通過調用spcusr.sql spctab.sql 和spcpkg.sql創建STATSPACK環境,使用SYSDBA運行它
Spdrop.sql 調用sptab.sql和spsr.sql刪除整個STATSPACK環境,使用SYSDBA運行它
Spreport.sql 這是生成報表的主要腳本,由PERFSTAT用戶運行
Sprepins.sql 為指定的資料庫和實例生成實例報表
Sprepsql.sql 為指定的SQL散列值生成SQL報表
Sprsqins.sql 為指定的資料庫和實例生成SQL報表
Spauto.sql 使用DBMS_JOB自動進行統計數據收集(照相)
Sprepcon.sql 配置SQLPLUS變數來設置像閾值這樣的內容的配置文件
Spurge.sql 刪除給定資料庫實例一定范圍內的快照ID,不刪除基線快照
Sptrunc.sql 截短STATSPACK表裡所有性能數據

五、 執行快速系統檢查1. 緩沖區命中率
查詢緩沖區命中率
select (1 - (sum(decode(name, 'physical reads',value,0)) /
(sum(decode(name, 'db block gets',value,0)) +
sum(decode(name, 'consistent gets',value,0))))) * 100 "Hit Ratio"
from v$sysstat;

D. 簡述SRAM,DRAM型存儲器的工作原理

個人電腦的主要結構:
顯示器
主機板
CPU
(微處理器)
主要儲存器
(記憶體)
擴充卡
電源供應器
光碟機
次要儲存器
(硬碟)
鍵盤
滑鼠
盡管計算機技術自20世紀40年代第一台電子通用計算機誕生以來以來有了令人目眩的飛速發展,但是今天計算機仍然基本上採用的是存儲程序結構,即馮·諾伊曼結構。這個結構實現了實用化的通用計算機。
存儲程序結構間將一台計算機描述成四個主要部分:算術邏輯單元(ALU),控制電路,存儲器,以及輸入輸出設備(I/O)。這些部件通過一組一組的排線連接(特別地,當一組線被用於多種不同意圖的數據傳輸時又被稱為匯流排),並且由一個時鍾來驅動(當然某些其他事件也可能驅動控制電路)。
概念上講,一部計算機的存儲器可以被視為一組「細胞」單元。每一個「細胞」都有一個編號,稱為地址;又都可以存儲一個較小的定長信息。這個信息既可以是指令(告訴計算機去做什麼),也可以是數據(指令的處理對象)。原則上,每一個「細胞」都是可以存儲二者之任一的。
算術邏輯單元(ALU)可以被稱作計算機的大腦。它可以做兩類運算:第一類是算術運算,比如對兩個數字進行加減法。算術運算部件的功能在ALU中是十分有限的,事實上,一些ALU根本不支持電路級的乘法和除法運算(由是使用者只能通過編程進行乘除法運算)。第二類是比較運算,即給定兩個數,ALU對其進行比較以確定哪個更大一些。
輸入輸出系統是計算機從外部世界接收信息和向外部世界反饋運算結果的手段。對於一台標準的個人電腦,輸入設備主要有鍵盤和滑鼠,輸出設備則是顯示器,列印機以及其他許多後文將要討論的可連接到計算機上的I/O設備。
控制系統將以上計算機各部分聯系起來。它的功能是從存儲器和輸入輸出設備中讀取指令和數據,對指令進行解碼,並向ALU交付符合指令要求的正確輸入,告知ALU對這些數據做那些運算並將結果數據返回到何處。控制系統中一個重要組件就是一個用來保持跟蹤當前指令所在地址的計數器。通常這個計數器隨著指令的執行而累加,但有時如果指令指示進行跳轉則不依此規則。
20世紀80年代以來ALU和控制單元(二者合成中央處理器,CPU)逐漸被整合到一塊集成電路上,稱作微處理器。這類計算機的工作模式十分直觀:在一個時鍾周期內,計算機先從存儲器中獲取指令和數據,然後執行指令,存儲數據,再獲取下一條指令。這個過程被反復執行,直至得到一個終止指令。
由控制器解釋,運算器執行的指令集是一個精心定義的數目十分有限的簡單指令集合。一般可以分為四類:1)、數據移動(如:將一個數值從存儲單元A拷貝到存儲單元B)2)、數邏運算(如:計算存儲單元A與存儲單元B之和,結果返回存儲單元C)3)、條件驗證(如:如果存儲單元A內數值為100,則下一條指令地址為存儲單元F)4)、指令序列改易(如:下一條指令地址為存儲單元F)
指令如同數據一樣在計算機內部是以二進制來表示的。比如說,10110000就是一條Intel
x86系列微處理器的拷貝指令代碼。某一個計算機所支持的指令集就是該計算機的機器語言。因此,使用流行的機器語言將會使既成軟體在一台新計算機上運行得更加容易。所以對於那些機型商業化軟體開發的人來說,它們通常只會關注一種或幾種不同的機器語言。
更加強大的小型計算機,大型計算機和伺服器可能會與上述計算機有所不同。它們通常將任務分擔給不同的CPU來執行。今天,微處理器和多核個人電腦也在朝這個方向發展。
超級計算機通常有著與基本的存儲程序計算機顯著區別的體系結構。它們通常由者數以千計的CPU,不過這些設計似乎只對特定任務有用。在各種計算機中,還有一些微控制器採用令程序和數據分離的哈佛架構(Harvard
architecture)。

E. 對比sisd計算機系統,提高並行計算機系統浮點性能的方法有哪些

超級計算機(Supercomputers)通常是指由數百數千甚至更多的處理器(機)組成的、能計算普通PC機和伺服器不能完成的大型復雜課題的計算機。超級計算機是計算機中功能最強、運算速度最快、存儲容量最大的一類計算機,是國家科技發展水平和綜合國力的重要標志。超級計算機擁有最強的並行計算能力,主要用於科學計算。在氣象、軍事、能源、航天、探礦等領域承擔大規模、高速度的計算任務。在結構上,雖然超級計算機和伺服器都可能是多處理器系統,二者並無實質區別,但是現代超級計算機較多採用集群系統,更注重浮點運算的性能,可看著是一種專注於科學計算的高性能伺服器,而且價格非常昂貴。 1、伺服器 專指某些高性能計算機,能通過網路,對外提供服務。相對於普通電腦來說,穩定性、安全性、性能等方面都要求更高,因此在CPU、晶元組、內存、磁碟系統、網路等硬體和普通電腦有所不同。伺服器是網路的節點,存儲、處理網路上80%的數據、信息,在網路中起到舉足輕重的作用。它們是為客戶端計算機提供各種服務的高性能的計算機,其高性能主要表高速度的運算能力、長時間的可靠運行、強大的外部數據吞吐能力等方面。伺服器的構成與普通電腦類似,也有處理器、硬碟、內存、系統匯流排等,但因為它是針對具體的網路應用特別制定的,因而伺服器與微機在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面存在差異很大。伺服器主要有網路伺服器(DNS、DHCP)、列印伺服器、終端伺服器、磁碟伺服器、郵件伺服器、文件伺服器等。 2、工作站 是一種以個人計算機和分布式網路計算為基礎,主要面向專業應用領域,具備強大的數據運算與圖形、圖像處理能力,為滿足工程設計、動畫製作、科學研究、軟體開發、金融管理、信息服務、模擬模擬等專業領域而設計開發的高性能計算機。工作站最突出的特點是具有很強的圖形交換能力,因此在圖形圖像領域特別是計算機輔助設計領域得到了迅速應用。典型產品有美國Sun公司的Sun系列工作站。 無盤工作站是指無軟盤、無硬碟、無光碟機連入區域網的計算機。在網路系統中,把工作站端使用的操作系統和應用軟體被全部放在伺服器上,系統管理員只要完成伺服器上的管理和維護,軟體的升級和安裝也只需要配置一次後,則整個網路中的所有計算機就都可以使用新軟體。所以無盤工作站具有節省費用、系統的安全性高、易管理性和易維護性等優點,這對網路管理員來說具有很大的吸引力。 無盤工作站的工作原理是由網卡的啟動晶元(Boot ROM)以不同的形式向伺服器發出啟動請求號,伺服器收到後,根據不同的機制,向工作站發送啟動數據,工作站下載完啟動數據後,系統控制權由Boot ROM轉到內存中的某些特定區域,並引導操作系統。 根據不同的啟動機制,比較常用無盤工作站可分為RPL 和PXE。RPL 為Remote Initial Program Load 的縮寫,此技術常用於Windows95 中。PXE 是RPL 的升級品,它是Preboot Execution Environment的縮寫。兩者不同之處在於RPL 是靜態路由,而PXE 是動態路由,其通信協議採用TCP/IP,實現了與Internet 連接高效而可靠,它常用於Windows98、Windows NT、Windows2000、Windows XP中 。 3、集線器 集線器(HUB)是一種共享介質的網路設備,它的作用可以簡單的理解為將一些機器連接起來組成一個區域網,HUB 本身不能識別目的地址。集線器上的所有埠爭用一個共享信道的寬頻,因此隨著網路節點數量的增加,數據傳輸量的增大,每節點的可用帶寬將隨之減少。另外,集線器採用廣播的形式傳輸數據,即向所有埠傳送數據。如當同一區域網內的A 主機給B 主機傳輸數據時,數據包在以HUB 為架構的網路上是以廣播方式傳輸的,對網路上所有節點同時發送同一信息,然後再由每一台終端通過驗證數據包頭的地址信息來確定是否接收。其實接收數據的一般來說只有一個終端節點,而對所有節點都發送,在這種方式下,很容易造成網路堵塞,而且絕大部分數據流量是無效的,這樣就造成整個網路數據傳輸效率相當低。另一方面由於所發送的數據包每個節點都能偵聽到,容易給網路帶來一些不安全隱患。 4、交換機 交換機(Switch)是按照通信兩端傳輸信息的需要,用人工或設備自動完成的方法把要傳輸的信息送到符合要求的相應路由上的技術統稱。廣義的交換機就是一種在通信系統中完成信息交換功能的設備,它是集線器的升級換代產品,外觀上與集線器非常相似,其作用與集線器大體相同。但是兩者在性能上有區別:集線器採用的是共享帶寬的工作方式,而交換機採用的是獨享帶寬方式。即交換機上的所有埠均有獨享的信道帶寬,以保證每個埠上數據的快速有效傳輸,交換機為用戶提供的是獨占的、點對點的連接,數據包只被發送到目的埠,而不會向所有埠發送,其它節點很難偵聽到所發送的信息,這樣在機器很多或數據量很大時,不容易造成網路堵塞,也確保了數據傳輸安全,同時大大的提高了傳輸效率,兩者的差別就比較明顯了。 5、路由器 路由器(Router)是一種負責尋徑的網路設備,它在互聯網路中從多條路徑中尋找通訊量最少的一條網路路徑提供給用戶通信。路由器用於連接多個邏輯上分開的網路,為用戶提供最佳的通信路徑,路由器利用路由表為數據傳輸選擇路徑,路由表包含網路地址以及各地址之間距離的清單,路由器利用路由表查找數據包從當前位置到目的地址的正確路徑,路由器使用最少時間演算法或最優路徑演算法來調整信息傳遞的路徑。路由器是產生於交換機之後,就像交換機產生於集線器之後,所以路由器與交換機也有一定聯系,並不是完全獨立的兩種設備。路由器主要克服了交換機不能向路由轉發數據包的不足。 交換機、路由器是一台特殊的網路計算機,它的硬體基礎CPU、存儲器和介面,軟體基礎是網路互聯操作系統IOS。 交換機、路由器和PC機一樣,有中央處理單元CPU,而且不同的交換機、路由器,其CPU一般也不相同,CPU是交換機、路由器的處理中心。 內存是交換機、路由器存儲信息和數據的地方,CISCO交換機、路由器有以下幾種內存組件: ROM(Read Only Memory)存儲交換機、路由器加電自檢(POST:Power-On Self-Test)、啟動程序(Bootstrap Program)和部分或全部的IOS。交換機、路由器中的ROM是可擦寫的,所以IOS是可以升級的。 RAM(Random Access Memory)與PC機上的隨機存儲器相似,提供臨時信息的存儲,同時保存著當前的路由表和配置信息。 NVRAM(Nonvolatile Random Access Memory)存儲交換機、路由器的啟動配置文件。NVRAM是可擦寫的,可將交換機、路由器的配置信息拷貝到NVRAM中。 FLASH快閃記憶體,是可擦寫的,也可編程,用於存儲CISCO IOS的其它版本,用於對交換機、路由器的IOS進行升級。 介面用作將交換機、路由器連接到網路,可以分為區域網介面和廣域網介面兩種。由於交換機、路由器型號的不同,介面數目和類型也不盡一樣。常見的介面主要有以下幾種: 高速同步串口,可連接DDN,幀中繼(Frame Relay),X.25,PSTN(模擬電話線路)。 同步/非同步串口,可用軟體將埠設置為同步工作方式。 AUI埠,即粗纜口。一般需要外接轉換器(AUI-RJ45),連接10/100Base-T乙太網絡。 ISDN埠,可以連接ISDN網路(2B+D),可作為區域網接入Internet 之用。 AUX埠,該埠為非同步埠,主要用於遠程配置,也可用於拔號備份,可與MODEM連接。支持硬體流控制(Hardware Flow Control)。 Console埠,該埠為非同步埠,主要連接終端或運行終端模擬程序的計算機,在本地配置交換機、路由器。不支持硬體流控制。 是一種採用匯流排結構,對生產過程及其機電設備、工藝裝備進行檢測與控制的計算機系統總稱。簡稱工控機。它由計算機和過程輸入輸出(I/O)通過兩大部分組成。計算機是由主機、輸入輸出設備和外部磁碟機、磁帶機等組成。在計算機外部又增加一部分過程輸入/輸出通道,用來完成工業生產過程的檢測數據送入計算機進行處理;另一方面將計算機要行使對生產過程式控制制的命令、信息轉換成工業控制對象的控制變數的信號,再送往工業控制對象的控制器去。由控制器行使對生產設備運行控制。工控機的主要類別有:IPC(PC匯流排工業電腦)、PLC(可編程式控制制系統)、DCS(分散型控制系統)、FCS(現場匯流排系統)及CNC(數控系統)五種。 1、IPC 即基於PC匯流排的工業電腦。據2000年IDC統計PC機已佔到通用計算機的95%以上,因其價格低、質量高、產量大、軟/硬體資源豐富,已被廣大的技術人員所熟悉和認可,這正是工業電惱熱的基礎。其主要的組成部分為工業機箱、無源底板及可插入其上的各種板卡組成,如CPU卡、I/O卡等。並採取全鋼機殼、機卡壓條過濾網,雙正壓風扇等設計及EMC(Electro Magnetic Compatibility)技術以解決工業現場的電磁干擾、震動、灰塵、高/低溫等問題。 IPC有以下特點: 可靠性:工業PC具有在粉塵、煙霧、高/低溫、潮濕、震動、腐蝕和快速診斷和可維護性,其MTTR(Mean Time to Repair)一般為10萬小時以上。 實時性,工業PC對工業生產過程進行實時在線檢測與控制,對工作狀況的變化給予快速響應,及時進行採集和輸出調節(看門狗功能這是普通PC所不具有的),遇險自復位,保證系統的正常運行。 擴充性,工業PC由於採用底板+CPU卡結構,因而具有很強的輸入輸出功能,最多可擴充20個板卡,能與工業現場的各種外設、板卡如與道控制器、視頻監控系統、車輛檢測儀等相連,以完成各種任務。 兼容性,能同時利用ISA與PCI及PICMG資源,並支持各種操作系統,多種語言匯編,多任務操作系統。 2、可編程序控制器(PLC) PLC英文全稱ProgrammableLogicController,中文全稱為可編程邏輯控制器,定義是:一種數字運算操作的電子系統,專為在工業環境應用而設計的。它採用一類可編程的存儲器,用於其內部存儲程序,執行邏輯運算,順序控制,定時,計數與算術操作等面向用戶的指令,並通過數字或模擬式輸入/輸出控制各種類型的機械或生產過程。可編程式控制制系統(ProgrammableLogicController)是一種專門為在工業環境下應用而設計的數字運算操作電子系統。它採用一種可編程的存儲器,在其內部存儲執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,通過數字式或模擬式的輸入輸出來控制各種類型的機械設備或生產過程。 可編程式控制制器是計算機技術與自動化控制技術相結合而開發的一種適用工業環境的新型通用自動控制裝置,是作為傳統繼電器的替換產品而出現的。隨著微電子技術和計算機技術的迅猛發展,可編程式控制制器更多地具有了計算機的功能,不僅能實現邏輯控制,還具有了數據處理、通信、網路等功能。由於它可通過軟體來改變控制過程,而且具有體積小、組裝維護方便、編程簡單、可靠性高、抗干擾能力強等特點,已廣泛應用於工業控制的各個領域,大大推進了機電一體化的進程。 3、分散型控制系統(DCS) 是一種高性能、高質量、低成本、配置靈活的分散控制系統系列產品,可以構成各種獨立的控制系統、分散控制系統DCS、監控和數據採集系統(SCADA),能滿足各種工業領域對過程式控制制和信息管理的需求。系統的模塊化設計、合理的軟硬體功能配置和易於擴展的能力,能廣泛用於各種大、中、小型電站的分散型控制、發電廠自動化系統的改造以及鋼鐵、石化、造紙、水泥等工業生產過程式控制制。 4、現場匯流排系統(FCS) 是全數字串列、雙向通信系統。系統內測量和控制設備如探頭、激勵器和控制器可相互連接、監測和控制。在工廠網路的分級中,它既作為過程式控制制(如PLC,LC等)和應用智能儀表(如變頻器、閥門、條碼閱讀器等)的局部網,又具有在網路上分布控制應用的內嵌功能。由於其廣闊的應用前景,眾多國外有實力的廠家競相投入力量,進行產品開發。國際上已知的現場匯流排類型有四十餘種,比較典型的現場匯流排有:FF,Profibus,LONworks,CAN,HART,CC-LINK等。 5、數控系統(CNC) 現代數控系統是採用微處理器或專用微機的數控系統,由事先存放在存儲器里系統程序(軟體)來實現控制邏輯,實現部分或全部數控功能,並通過介面與外圍設備進行聯接,稱為計算機數控,簡稱CNC系統。 數控機床是以數控系統為代表的新技術對傳統機械製造產業的滲透形成的機電一體化產品;其技術范圍覆蓋很多領域:(1)機械製造技術;(2)信息處理、加工、傳輸技術;(3)自動控制技術;(4)伺服驅動技術;(5)感測器技術;(6)軟體技術等。 1、台式機(Desktop) 也叫桌面機,是一種獨立相分離的計算機,完完全全跟其它部件無聯系,相對於筆記本和上網本體積較大,主機、顯示器等設備一般都是相對獨立的,一般需要放置在電腦桌或者專門的工作台上。因此命名為台式機。為非常流行的微型計算機,多數人家裡和公司用的機器都是台式機。台式機的性能相對較筆記本電腦要強。台式機具有如下特點: 散熱性。台式機具有筆記本計算機所無法比擬的優點。台式機的機箱具有空間大、通風條件好的因素而一直被人們廣泛使用。 擴展性。台式機的機箱方便用戶硬體升級,如光碟機、硬碟。如台式機箱的光碟機驅動器插槽是4-5個,硬碟驅動器插槽是4-5個。非常方便用戶日後的硬體升級。 保護性。台式機全方面保護硬體不受灰塵的侵害。而且防水性就不錯;在筆記本中這項發展不是很好。 明確性。台式機機箱的開、關鍵、重啟鍵、USB、音頻介面都在機箱前置面板中,方便用戶的使用。 但台式機的便攜性差,相比筆記本是非常方便。 2、電腦一體機 電腦一體機,是由一台顯示器、一個電腦鍵盤和一個滑鼠組成的電腦。它的晶元、主板與顯示器集成在一起,顯示器就是一台電腦,因此只要將鍵盤和滑鼠連接到顯示器上,機器就能使用。隨著無線技術的發展,電腦一體機的鍵盤、滑鼠與顯示器可實現無線鏈接,機器只有一根電源線。這就解決了一直為人詬病的台式機線纜多而雜的問題。有的電腦一體機還具有電視接收、AV功能,也整合專用軟體,可用於特定行業專用機。 3、筆記本電腦(Notebook或Laptop) 也稱手提電腦或膝上型電腦,是一種小型、可攜帶的個人電腦,通常重1-3公斤。筆記本電腦除了鍵盤外,還提供了觸控板(TouchPad)或觸控點(Pointing Stick),提供了更好的定位和輸入功能。 筆記本電腦可以大體上分為6類:商務型、時尚型、多媒體應用、上網型、學習型、特殊用途。商務型筆記本電腦一般可以概括為移動性強、電池續航時間長、商務軟體多;時尚型外觀主要針對時尚女性;多媒體應用型筆記本電腦則有較強的圖形、圖像處理能力和多媒體的能力,尤其是播放能力,為享受型產品。而且,多媒體筆記本電腦多擁有較為強勁的獨立顯卡和音效卡(均支持高清),並有較大的屏幕。上網本(Netbook)就是輕便和低配置的筆記本電腦,具備上網、收發郵件以及即時信息(IM)等功能,並可以實現流暢播放流媒體和音樂。上網本比較強調便攜性,多用於在出差、旅遊甚至公共交通上的移動上網。學習型機身設計為筆記本外形,採用標准電腦操作,全面整合學習機、電子辭典、復讀機、點讀機、學生電腦等多種機器功能。特殊用途的筆記本電腦是服務於專業人士,可以在酷暑、嚴寒、低氣壓、高海拔、強輻射、戰爭等惡劣環境下使用的機型,有的較笨重,比如奧運會前期在「華碩珠峰大本營IT服務區」使用的華碩筆記本電腦。 4、掌上電腦(PDA) 掌上電腦是一種運行在嵌入式操作系統和內嵌式應用軟體之上的、小巧、輕便、易帶、實用、價廉的手持式計算設備。它無論在體積、功能和硬體配備方面都比筆記本電腦簡單輕便。掌上電腦除了用來管理個人信息(如通訊錄,計劃等),而且還可以上網瀏覽頁面,收發Email,甚至還可以當作手機來用外,還具有:錄音機功能、英漢漢英詞典功能、全球時鍾對照功能、提醒功能、休閑娛樂功能、傳真管理功能等等。掌上電腦的電源通常採用普通的鹼性電池或可充電鋰電池。掌上電腦的核心技術是嵌入式操作系統,各種產品之間的競爭也主要在此。 在掌上電腦基礎上加上手機功能,就成了智能手機(Smartphone)。智能手機除了具備手機的通話功能外,還具備了PDA分功能,特別是個人信息管理以及基於無線數據通信的瀏覽器和電子郵件功能。智能手機為用戶提供了足夠的屏幕尺寸和帶寬,既方便隨身攜帶,又為軟體運行和內容服務提供了廣闊的舞台,很多增值業務可以就此,如股票、新聞、天氣、交通、商品、應用程序下載、音樂圖片下載等等。 5、平板電腦 平板電腦是一款無須翻蓋、沒有鍵盤、大小不等、形狀各異,卻功能完整的電腦。其構成組件與筆記本電腦基本相同,但它是利用觸筆在屏幕上書寫,而不是使用鍵盤和滑鼠輸入,並且打破了筆記本電腦鍵盤與屏幕垂直的J 型設計模式。它除了擁有筆記本電腦的所有功能外,還支持手寫輸入或語音輸入,移動性和便攜性更勝一籌。 平板電腦由比爾蓋茨提出,至少應該是X86架構,從微軟提出的平板電腦概念產品上看,平板電腦就是一款無須翻蓋、沒有鍵盤、小到足以放入女士手袋,但卻功能完整的PC。 即嵌入式系統( Embedded Systems) ,是一種以應用為中心、以微處理器為基礎,軟硬體可裁剪的,適應應用系統對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專用計算機系統。它一般由嵌入式微處理器、外圍硬體設備、嵌入式操作系統以及用戶的應用程序等四個部分組成。它是計算機市場中增長最快的領域,也是種類繁多,形態多種多樣的計算機系統。嵌入式系統幾乎包括了生活中的所有電器設備,如掌上pda、計算器、電視機頂盒、手機、數字電視、多媒體播放器、汽車、微波爐、數字相機、家庭自動化系統、電梯、空調、安全系統、自動售貨機、蜂窩式電話、消費電子設備、工業自動化儀表與醫療儀器等。 嵌入式系統的核心部件是嵌入式處理器,分成4類,即嵌入式微控制器( Micro Contrller Unit ,MCU,俗稱單片機)、嵌入式微處理器( Micro Processor Unit ,MPU )、嵌入式DSP 處理器( Digital Signal Processor,DSP) 和嵌入式片上系統( System on Chip,SOC)。嵌入式微處理器一般具備4個特點: 1、對實時和多任務有很強的支持能力,能完成多任務並且有較短的中斷響應時間,從而使內部的代碼和實時操作系統的執行時間減少到最低限度; 2、具有功能很強的存儲區保護功能,這是由於嵌入式系統的軟體結構已模塊化,而為了避免在軟體模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利於軟體診斷; 3、可擴展的處理器結構,以能迅速地擴展出滿足應用的高性能的嵌入式微處理器; 4、嵌入式微處理器的功耗必須很低,尤其是用於攜帶型的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,功耗只能為mw 甚至μw 級。

F. 如何讓幾台電腦並行計算以提高性能

.首先確定需要的硬體組件和資源。您將需要一個頭節點,至少有十幾個相同的計算節點,乙太網交換機,配電裝置和機架。確定的電力需求,散熱和空間要求。又決定您要為您的專用網路IP地址,命名為節點,您要安裝的軟體包,你想要什麼樣的技術提供的並行計算能力(更多關於這個版本)。雖然硬體不能隨意下載,所有軟體中列出的是免費的,大部分都是開源的。 (2)/建立計算節點。您將需要組裝的計算節點,或獲得預構建伺服器。更多的計算節點,建立更強大的超級計算機!選擇一台伺服器機箱,空間,冷卻和能源效率最大化。或者,你可以用十幾個這樣用的,過時的伺服器 - 其整體將超過其部分的總和還為您節省了相當大的一次性現金。為整個系統一起玩的很好,所有的處理器,網路適配器和主板應該是相同的。當然,不要忘了內存和存儲每個節點和至少一個光碟驅動器的頭節點。

G. 讓你的大數據應用具備更高性能

讓你的大數據應用具備更高性能

大數據應用在大型企業中變得越來越常見。企業具備歷史數據分析和趨勢預測的能力,能夠為自身創造可觀價值;此外,商業智能分析不僅可以避免出現運輸中斷、資源短缺,還能減少服務水平協議SLA和預測客戶所需的產品和服務。BI能夠給企業帶來巨額紅利。

隨著購物節的臨近,利用客戶交互的明顯增加,可以預期到你的企業將會開展更多的BI活動。通過優化大數據應用,提高性能,IT企業應該積極為更大數據量和更多的分析活動做好准備

從哪裡開始

DBA、支持人員應將他們的努力集中在以下幾個領域:災難恢復,數據倉庫性能和數據組織以及大數據的應用中的數據存儲。

災難恢復

大多數IT人員認為災難恢復並不屬於性能調優的范疇。在大數據環境下,這一誤解又有所加深,因為人們普遍認為建立在大數據應用上的數據分析,相對於計算工資,總帳,訂單輸入,運輸和客戶服務之類的應用來說,並不十分重要。

但是,大數據應用在過去的幾年裡已經日趨成熟,企業所使用的業務分析功能也隨之日臻完善。曾經的臨時查詢現在被作為常規報表來執行;額外的歷史數據允許查詢對大量數據進行比較和分析,通過進行負載均衡,商業分析軟體可以讓你的大數據應用得以更加方便快捷的執行查詢。這使得今天的大數據應用提供了大量的可操作數據,可以提供更好的客戶服務,消耗更低的成本並獲得更高的利潤。

這意味著,即使大數據應用遭遇一次很小的中斷,都可能在你的用戶群中產生連鎖反應,報表無法按時交付、查詢無法正常運行、以及那些基於商業分析結果的決策被延遲等。

DBA應該經常審核DR計劃,以保證大數據應用在其控制之下。他們需要關注下列幾種情況。

審核恢復過程。一年中最忙的時候就是遭到災難性故障的時候。中斷將會顯著的影響企業的營利,特別是在事務頻繁的時期。DBA應該協助恢復過程,避免浪費時間和精力。

驗證恢復時間。很多DR計劃包括一個目標恢復時間,表示可以完全恢復的最晚時間點。對於資料庫來說,這可能意味著從備份文件恢復數據,並將日誌從備份時間調整到恢復時間點。在高峰時期,數據和事務量較大;因此,恢復時間可能延長。為了降低這種風險,DBA應該考慮實施更頻繁的關鍵資料庫備份。由於在數據表恢復過程中,通常需要花時間來重建索引,DBA應該將DB2的備份和恢復能力考慮在內。

數據倉庫性能

一般來說,大數據的存儲和分析或存在於企業數據倉庫(EDW)內部,或者與其相關。要整合各地的大數據解決方案,你需要為每一部分的EDW過程設置介面。下面是一個關於EDW子系統的總結,涉及大數據對它們的影響,以及如何提前制定性能計劃。

數據獲取和採集。包括一個在數據轉移到EDW之前,用於暫存數據的方案,以避免硬體故障造成的延誤。還應確定這些新資產和流程將如何影響你的災難恢復計劃。開發人員喜歡在旺季開始之前實現新功能或加固操作系統。其中一些增強數據可能需要傳遞到你的數據倉庫,隨後為大數據應用可能執行的查詢提供服務。在此之前你要確定,這些新應用或者改動後的應用可能需要一個業務分析組件,

數據轉換和遷移。快速遷移大量數據可能需要額外的資源,甚至特殊的軟體或硬體。你的網路有能力將日益增長的數據從操作系統遷移到數據倉庫,並最終部署到大數據應用中么?

數據訪問和分析。隨著數據持續填滿倉庫,在倉庫和大數據的應用合並後,用戶可以運行分析軟體。捕獲數據訪問路徑和數據分布統計信息並留作分析。你需要確定是否有足夠的系統資源(CPU、磁碟存儲、網路容量等)來支持預期的查詢工作負載。

數據歸檔。大量的數據分析,龐大的數據量可能會佔用寶貴的存儲介質,使一些進程運行緩慢。IT和業務合作夥伴必須決定如何以及何時將舊的大數據存檔清除,以及它是否必須保留以供日後使用。

大數據的組織和存儲

供應商銷售的第一大數據應用通常是即插即用型的。幾乎沒有調優選項。主要的原因是,應用依賴一個專有的,混合的硬體和軟體解決方案,該解決方案使用大規模並行存儲和I / O,以實現對分析查詢的快速應答。

客戶對於大數據分析的需求日益成熟,供應商解決方案需要提供多個同步存儲和檢索數據的方法。其結果是供應商設計並實現了可選數據存儲和檢索選項。一個例子是指定關鍵記錄如何存儲的能力。設想一個大數據應用,實現了一百個獨立的磁碟驅動器。原始的應用通常將記錄隨機分散到這些驅動器。一些分析查詢可以在邏輯上分成一百個獨立的查詢,每個查詢訪問一個驅動器,所有查詢的結果合並成最終的答案,比相同的序列資料庫查詢快上一百倍。

然而,考慮一個基於鍵的,需要連接兩個表的查詢。隨機分布在一百個磁碟驅動器的兩個表將不再具備性能優勢,因為行連接操作與兩個表存儲在同一個磁碟驅動器上時已經完全不同了。

目前很多大數據應用解決方案包含選項和演算法以支持跨驅動器的表查詢,存儲是按鍵值排序的,並不是隨機分布。通過在每一個磁碟驅動器存儲相同范圍的鍵值行,行連接操作將在同一個驅動器上執行。因此按鍵值指定數據分布的能力提供了巨大性能提升。

考慮到這一點,以下是一些建議,可用於大數據應用的性能調優。

檢查數據分布統計信息。使用RunStats程序來收集表鍵和數據分布信息。特別是主鍵和外鍵索引,因為表連接通常會基於這些列。

審查數據訪問路徑。在本質上分析查詢是臨時的,數據表最有可能使用相同或相似的訪問路徑加被訪問。捕獲和分析這些訪問路徑尋找常見的連接方法。這一信息,加上數據分布統計信息,將幫助您確定數據表應如何按鍵值分布在大數據應用中。

存儲數據訪問路徑以進行分析。作為上面的建議的延伸,你應該有一個方法用於捕獲和儲存分析查詢的訪問路徑。方法返回結果應展示出表和索引是如何被訪問,以及使用了哪些索引,執行了哪些排序等等。查詢獲取更多的數據,數據量增加返過來審查你的歷史訪問路徑並比較。數據量增加引起的變化,觀察訪問路徑的變化都可能表明性能出了問題。

總結

通過審核數據恢復流程,提高數據倉庫的性能,評估當前大數據應用性能的優化選項,可以讓你的大數據應用為即將到來高峰做好准備。大數據應用的數據組織方式對性能有這十分顯著的影響;此外,你還應該仔細考慮可能發生的故障,為災難做好准備,即使大數據應用上一個小的中斷都可能對企業利益造成重大影響。

以上是小編為大家分享的關於讓你的大數據應用具備更高性能的相關內容,更多信息可以關注環球青藤分享更多干貨

H. 資料庫調優的方法有哪些

1.引言 資料庫調優可以使資料庫應用運行得更快,它需要綜合考慮各種復雜的因素。將數據均 勻分布在磁碟上可以提高I/O 利用率,提高數據的讀寫性能;適當程度的非規范化可以改善 系統查詢性能;建立索引和編寫高效的SQL 語句能有效避免低性能操作;通過鎖的調優解 決並發控制方面的性能問題。 資料庫調優技術可以在不同的資料庫系統中使用,它不必糾纏於復雜的公式和規則,然 而它需要對程序的應用、資料庫管理系統、查詢處理、並發控制、操作系統以及硬體有廣泛 而深刻的理解。 2.計算機硬體調優 2.1 資料庫對象的放置策略 利用資料庫分區技術,均勻地把數據分布在系統的磁碟中,平衡I/O 訪問,避免I/O 瓶頸: (1)訪問分散到不同的磁碟,即使用戶數據盡可能跨越多個設備,多個I/O 運轉,避免 I/O 競爭,克服訪問瓶頸;分別放置隨機訪問和連續訪問數據。 (2)分離系統資料庫I/O 和應用資料庫I/O,把系統審計表和臨時庫表放在不忙的磁碟 上。 (3)把事務日誌放在單獨的磁碟上,減少磁碟I/O 開銷,這還有利於在障礙後恢復,提 高了系統的安全性。 (4)把頻繁訪問的「活性」表放在不同的磁碟上;把頻繁用的表、頻繁做Join的表分別 放在單獨的磁碟上,甚至把頻繁訪問的表的欄位放在不同的磁碟上,把訪問分散到不同的磁 盤上,避免I/O 爭奪。 2.2 使用磁碟硬體優化資料庫 RAID (獨立磁碟冗餘陣列)是由多個磁碟驅動器(一個陣列)組成的磁碟系統。通過將磁碟陣列當作一個磁碟來對待,基於硬體的RAID允許用戶管理多個磁碟。使用基於硬體的 RAID與基於操作系統的RAID相比較,基於硬體的RAID能夠提供更佳的性能。如果使用基於操作系統的RAID,那麼它將占據其他系統需求的CPU周期;通過使用基於硬體的RAID, 用戶在不關閉系統的情況下能夠替換發生故障的驅動器。 SQL Server 一般使用RAID等級0、1 和5。 RAID 0 是傳統的磁碟鏡象,陣列中每一個磁碟都有一個或多個磁碟拷貝,它主要用來 提供最高級的可靠性,使RAID 0成倍增加了寫操作卻可以並行處理多個讀操作,從而提高 了讀操作的性能。 RAID 1 是磁碟鏡像或磁碟雙工,能夠為事務日誌保證冗餘性。 RAID 5帶奇偶的磁碟條帶化,即將數據信息和校驗信息分散到陣列的所有磁碟中,它可以消除一個校驗盤的瓶頸和單點失效問題,RAID 5 也會增加寫操作,也可以並行處理一個讀操作,還 可以成倍地提高讀操作的性能。 相比之下,RAID 5 增加的寫操作比RAID 0 增加的要少許多。在實際應用中,用戶的讀操作要求遠遠多於寫操作請求,而磁碟執行寫操作的速度很快,以至於用戶幾乎感覺不到增加的時間,所以增加的寫操作負擔不會帶來什麼問題。在性能較好的伺服器中一般都會選擇使用RAID 5 的磁碟陣列卡來實現,對於性能相對差一些的伺服器也可利用純軟體的方式來實現RAID 5。 3.關系系統與應用程序調優 3.1 應用程序優化 從資料庫設計者的角度來看,應用程序無非是實現對數據的增加、修改、刪除、查詢和體現數據的結構和關系。設計者在性能方面的考慮因素,總的出發點是:把資料庫當作奢侈 的資源看待,在確保功能的同時,盡可能少地動用資料庫資源。包括如下原則: (1)不訪問或少訪問資料庫; (2)簡化對資料庫的訪問; (3)使訪問最優; (4)對前期及後續的開發、部署、調整提出要求,以協助實現性能目標。 另外,不要直接執行完整的SQL 語法,盡量通過存儲過程來調用SQL Server。客戶與伺服器連接時,建立連接池,讓連接盡量得以重用,以避免時間與資源的損耗。非到不得已, 不要使用游標結構,確實使用時,注意各種游標的特性。

I. 資料庫性能優化有哪些措施

1、調整數據結構的設計。這一部分在開發信息系統之前完成,程序員需要考慮是否使用ORACLE資料庫的分區功能,對於經常訪問的資料庫表是否需要建立索引等。

2、調整應用程序結構設計。這一部分也是在開發信息系統之前完成,程序員在這一步需要考慮應用程序使用什麼樣的體系結構,是使用傳統的Client/Server兩層體系結構,還是使用Browser/Web/Database的三層體系結構。不同的應用程序體系結構要求的資料庫資源是不同的。

3、調整資料庫SQL語句。應用程序的執行最終將歸結為資料庫中的SQL語句執行,因此SQL語句的執行效率最終決定了ORACLE資料庫的性能。ORACLE公司推薦使用ORACLE語句優化器(Oracle Optimizer)和行鎖管理器(row-level manager)來調整優化SQL語句。

4、調整伺服器內存分配。內存分配是在信息系統運行過程中優化配置的,資料庫管理員可以根據資料庫運行狀況調整資料庫系統全局區(SGA區)的數據緩沖區、日誌緩沖區和共享池的大小;還可以調整程序全局區(PGA區)的大小。需要注意的是,SGA區不是越大越好,SGA區過大會佔用操作系統使用的內存而引起虛擬內存的頁面交換,這樣反而會降低系統。

5、調整硬碟I/O,這一步是在信息系統開發之前完成的。資料庫管理員可以將組成同一個表空間的數據文件放在不同的硬碟上,做到硬碟之間I/O負載均衡。

6、調整操作系統參數,例如:運行在UNIX操作系統上的ORACLE資料庫,可以調整UNIX數據緩沖池的大小,每個進程所能使用的內存大小等參數。

資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,它產生於距今六十多年前,隨著信息技術和市場的發展,特別是二十世紀九十年代以後,數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。資料庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型資料庫系統都在各個方面得到了廣泛的應用。

在信息化社會,充分有效地管理和利用各類信息資源,是進行科學研究和決策管理的前提條件。資料庫技術是管理信息系統、辦公自動化系統、決策支持系統等各類信息系統的核心部分,是進行科學研究和決策管理的重要技術手段。

在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的「倉庫」,並根據管理的需要進行相應的處理。

例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。

(9)並行存儲性能調優擴展閱讀

資料庫,簡單來說是本身可視為電子化的文件櫃--存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。

資料庫指的是以一定方式儲存在一起、能為多個用戶共享、具有盡可能小的冗餘度的特點、是與應用程序彼此獨立的數據集合。

在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的"倉庫",並根據管理的需要進行相應的處理。

例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。