![性能測(cè)試專題詳細(xì)分析_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/fef50345-0daf-4b90-9763-e1cc58494422/fef50345-0daf-4b90-9763-e1cc584944221.gif)
![性能測(cè)試專題詳細(xì)分析_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/fef50345-0daf-4b90-9763-e1cc58494422/fef50345-0daf-4b90-9763-e1cc584944222.gif)
![性能測(cè)試專題詳細(xì)分析_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/fef50345-0daf-4b90-9763-e1cc58494422/fef50345-0daf-4b90-9763-e1cc584944223.gif)
![性能測(cè)試專題詳細(xì)分析_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/fef50345-0daf-4b90-9763-e1cc58494422/fef50345-0daf-4b90-9763-e1cc584944224.gif)
![性能測(cè)試專題詳細(xì)分析_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/fef50345-0daf-4b90-9763-e1cc58494422/fef50345-0daf-4b90-9763-e1cc584944225.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、性能測(cè)試專題分析撰寫人:王井濱部門:*性能測(cè)試組日期:2011/9/13軟件版本號(hào):1.0保密級(jí):保密修訂記錄日期文檔版本號(hào)修訂說明作者2011/9/13V1.0創(chuàng)建王井濱1. 專題一 性能測(cè)試流程1) 性能需求調(diào)研交易選擇原則如下n 用戶量大,用戶操作頻率高,有高峰期特征,數(shù)據(jù)量大,數(shù)據(jù)關(guān)聯(lián)復(fù)雜,計(jì)算邏輯復(fù)雜。n 數(shù)據(jù)操作類型覆蓋:查詢(模糊查詢,非索引查詢,多關(guān)聯(lián)查詢,多條件查詢),新增,修改,計(jì)算。由于系統(tǒng)刪除功能有限且操作量小,不進(jìn)行刪除操作的性能測(cè)試。2) 測(cè)試環(huán)境準(zhǔn)備服務(wù)器名稱參考配置數(shù)量說明負(fù)載均衡器WEB服務(wù)器應(yīng)用服務(wù)器數(shù)據(jù)庫服務(wù)器批處理服務(wù)器報(bào)表服務(wù)器資訊數(shù)據(jù)源處理服務(wù)器數(shù)據(jù)
2、庫磁盤陣列3) 測(cè)試策略首先執(zhí)行批量處理性能測(cè)試,可以獲得聯(lián)機(jī)性能測(cè)試的大部分?jǐn)?shù)據(jù),然后調(diào)整或補(bǔ)充數(shù)據(jù),進(jìn)行聯(lián)機(jī)性能測(cè)試,最后進(jìn)行穩(wěn)定性測(cè)試。為測(cè)試系統(tǒng)的性能是否可以通過提高服務(wù)器配置或增加服務(wù)器數(shù)量而得到提升,首先進(jìn)行基準(zhǔn)測(cè)試,然后調(diào)整服務(wù)器的配置或數(shù)量,進(jìn)行可擴(kuò)展性測(cè)試。4) 測(cè)試計(jì)劃詳見測(cè)試計(jì)劃模板1) 系統(tǒng)簡介2) 測(cè)試需求3) 測(cè)試環(huán)境4) 測(cè)試組織5) 測(cè)試風(fēng)險(xiǎn)6) 測(cè)試時(shí)機(jī)7) 測(cè)試策略8) 測(cè)試場(chǎng)景9) 測(cè)試實(shí)施10) 交付物5) 測(cè)試用例、測(cè)試腳本參考28_JCB卡非功能測(cè)試的測(cè)試腳本和測(cè)試場(chǎng)景6) 執(zhí)行測(cè)試、壓力測(cè)試;負(fù)載測(cè)試;疲勞強(qiáng)度測(cè)試;7) 統(tǒng)計(jì)分析測(cè)試結(jié)果LR an
3、alysis8) 測(cè)試報(bào)告Word、Excel、PPT2. 專題二 LoadRunner使用1) 銀行項(xiàng)目常用協(xié)議HTTP/HTML: HTML-Based、URL-BasedJAVA: Eclipse編寫開發(fā)腳本調(diào)用實(shí)際業(yè)務(wù),LR里Action調(diào)用該腳本來實(shí)現(xiàn)并發(fā)設(shè)置WINDOWS SOCKETS:報(bào)文發(fā)送和接收2) 腳本開發(fā)及調(diào)試參數(shù)化:select next row和update value on的交叉選擇;常用函數(shù):lr_eval_string(),lr_save_string(),lr_output_message()等;C語言函數(shù):strcat(),strcmp()等;關(guān)聯(lián):自動(dòng)關(guān)
4、聯(lián)、手動(dòng)關(guān)聯(lián)web_reg_save_param(),lr_save_param();3) 場(chǎng)景配置單一業(yè)務(wù)場(chǎng)景并發(fā):基準(zhǔn)測(cè)試;混合業(yè)務(wù)場(chǎng)景并發(fā):按用戶數(shù)量分;按業(yè)務(wù)百分比分;3 專題三 應(yīng)用服務(wù)器監(jiān)控3.1 UNIX3.1.1 性能監(jiān)控-VMSTATvmstat命令用來獲得有關(guān)進(jìn)程、虛存、頁面交換空間及CPU活動(dòng)的信息。這些信息反映了系統(tǒng)的負(fù)載情況。vmstat首次運(yùn)行時(shí)顯示自系統(tǒng)啟動(dòng)開始的 各項(xiàng)統(tǒng)計(jì)信息,之后運(yùn)行vmstat將顯示自上次運(yùn)行該命令以后的統(tǒng)計(jì)信息。用戶可以通過指定統(tǒng)計(jì)的次數(shù)和時(shí)間來獲得所需的統(tǒng)計(jì)信息。有關(guān)進(jìn)程的信息有:r->在運(yùn)行隊(duì)列中等待的進(jìn)程數(shù) b->在等待i
5、o的進(jìn)程數(shù) w->可以進(jìn)入運(yùn)行隊(duì)列但被替換的進(jìn)程 有關(guān)內(nèi)存的信息有:avm :使用的頁面數(shù)。fre:空閑隊(duì)列中的頁面數(shù)。swap->現(xiàn)時(shí)可用的交換內(nèi)存(k表示)有關(guān)頁面交換空間的信息有:re:在指定時(shí)間間隔內(nèi)每秒要求收回的頁面數(shù)。po:在指定時(shí)間間隔內(nèi)換入到頁面交換空間的頁面數(shù)。pi:由頁面交換空間換出的頁面數(shù)。fr:在指定時(shí)間間隔內(nèi)釋放的頁面數(shù)。sr:在指定時(shí)間間隔內(nèi)檢查的頁面數(shù)(以確定該頁面是否可以釋放)。cy:按時(shí)鐘算法每秒掃描的頁面數(shù)。mf非嚴(yán)重錯(cuò)誤的頁面 de提前讀入的頁面中的未命中數(shù) disk 顯示每秒的磁盤操作。 s表示scsi盤,0表示盤號(hào) 有關(guān)故障的信息有:in:
6、在指定時(shí)間內(nèi)的每秒中斷次數(shù)。sy:在指定時(shí)間內(nèi)每秒系統(tǒng)調(diào)用次數(shù)。cs:在指定時(shí)間內(nèi)每秒上下文切換的次數(shù)。in設(shè)備中斷 sy系統(tǒng)中斷 有關(guān)CPU的信息有:us:在指定時(shí)間間隔內(nèi)CPU在用戶態(tài)的利用率。sy:在指定時(shí)間間隔內(nèi)CPU在核心態(tài)的利用率。id:在指定時(shí)間間隔內(nèi)CPU空閑時(shí)間比。wa:在指定時(shí)間間隔內(nèi)CPU因?yàn)榈却齀/O而空閑的時(shí)間比。cs用戶進(jìn)程使用的時(shí)間 sy系統(tǒng)進(jìn)程使用的時(shí)間 idcpu空閑的時(shí)間 vmstat 可以用來確定一個(gè)系統(tǒng)的工作是受限于CPU還是受限于內(nèi)存:如果CPU的sy和us值相加的百分比接近100%,或者運(yùn)行隊(duì)列(r) 中等待的進(jìn)程數(shù)總是不等于 0,則該系統(tǒng)受限于CP
7、U;如果pi、po的值總是不等于0,則該系統(tǒng)受限于內(nèi)存。vmstat運(yùn)用舉例:vmstat f: 顯示系統(tǒng)中的子進(jìn)程數(shù)。vmstat s: 顯示系統(tǒng)中不同的事件。vmstat i: 顯示系統(tǒng)的中斷數(shù)。vmstat hdisk0 hdisk1: 顯示hdisk0 、hdisk1的使用情況。vmstat 1 10:每隔一秒顯示一次系統(tǒng)的運(yùn)行狀況,共顯示10次。3.1.2性能監(jiān)控-IOSTATiostat是I/O statistics(輸入/輸出統(tǒng)計(jì))的縮寫,iostat工具將對(duì)系統(tǒng)的磁盤操作活動(dòng)進(jìn)行監(jiān)視。它的特點(diǎn)是匯報(bào)磁盤活動(dòng)統(tǒng)計(jì)情況,同時(shí)也會(huì)匯報(bào)出CPU使用情況。它不能對(duì)某個(gè)進(jìn)程進(jìn)行深入分析,僅
8、對(duì)系統(tǒng)的整體情況進(jìn)行分析。 語法:iostat -t interval count interval指每次統(tǒng)計(jì)間隔的時(shí)間; count指按照這個(gè)時(shí)間間隔統(tǒng)計(jì)的次數(shù)。 3.1.3 top3.2 Linux3.2.1 找到最耗CPU的java線程1 ps命令命令:ps -mp pid -o THREAD,tid,time 或者 ps -Lfp pid這個(gè)命令的作用,主要是可以獲取到對(duì)應(yīng)一個(gè)進(jìn)程下的線程的一些信息。 比如你想分析一下一個(gè)java進(jìn)程的一些運(yùn)行瓶頸點(diǎn),可以通過該命令找到所有當(dāng)前Thread的占用CPU的時(shí)間。2 top命令命令:top -Hp pidtop命令是Linux下常用的性能分
9、析工具,能夠?qū)崟r(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況,類似于Windows的任務(wù)管理器參數(shù)說明top - d p q c C S s n d 指定每兩次屏幕信息刷新之間的時(shí)間間隔。當(dāng)然用戶可以使用s交互命令來改變之。p 通過指定監(jiān)控進(jìn)程ID來僅僅監(jiān)控某個(gè)進(jìn)程的狀態(tài)。q該選項(xiàng)將使top沒有任何延遲的進(jìn)行刷新。如果調(diào)用程序有超級(jí)用戶權(quán)限,那么top將以盡可能高的優(yōu)先級(jí)運(yùn)行。S 指定累計(jì)模式s 使top命令在安全模式中運(yùn)行。這將去除交互命令所帶來的潛在危險(xiǎn)。i 使top不顯示任何閑置或者僵死進(jìn)程。c 顯示整個(gè)命令行而不
10、只是顯示命令名其他命令top命令執(zhí)行過程中可以使用的一些交互命令。從使用角度來看,熟練的掌握這些命令比掌握選項(xiàng)還重要一些。這些命令都是單字母的,如果在命令行選項(xiàng)中使用了s選項(xiàng),則可能其中一些命令會(huì)被屏蔽掉。Ctrl+L 擦除并且重寫屏幕。h或者? 顯示幫助畫面,給出一些簡短的命令總結(jié)說明。k 終止一個(gè)進(jìn)程。系統(tǒng)將提示用戶輸入需要終止的進(jìn)程PID,以及需要發(fā)送給該進(jìn)程什么樣的信號(hào)。一般的終止進(jìn)程可以使用15信號(hào);如果不能正常結(jié)束那就使用信號(hào)9強(qiáng)制結(jié)束該進(jìn)程。默認(rèn)值是信號(hào)15。在安全模式中此命令被屏蔽。i 忽略閑置和僵死進(jìn)程。這是一個(gè)開關(guān)式命令
11、。q 退出程序。r 重新安排一個(gè)進(jìn)程的優(yōu)先級(jí)別。系統(tǒng)提示用戶輸入需要改變的進(jìn)程PID以及需要設(shè)置的進(jìn)程優(yōu)先級(jí)值。輸入一個(gè)正值將使優(yōu)先級(jí)降低,反之則可以使該進(jìn)程擁有更高的優(yōu)先權(quán)。默認(rèn)值是10。S 切換到累計(jì)模式。s 改變兩次刷新之間的延遲時(shí)間。系統(tǒng)將提示用戶輸入新的時(shí)間,單位為s。如果有小數(shù),就換算成m s。輸入0值則系統(tǒng)將不斷刷新,默認(rèn)值是5 s。需要注意的是如果設(shè)置太小的時(shí)間,很可能會(huì)引起不斷刷新,從而根本來不及看清顯示的情況,而且系統(tǒng)負(fù)載也會(huì)大大增加。f或者F 從當(dāng)前顯示中添加或者刪除項(xiàng)目。o或者O 改變顯示項(xiàng)目的順序。l
12、0;切換顯示平均負(fù)載和啟動(dòng)時(shí)間信息。m 切換顯示內(nèi)存信息。t 切換顯示進(jìn)程和CPU狀態(tài)信息。c 切換顯示命令名稱和完整命令行。M 根據(jù)駐留內(nèi)存大小進(jìn)行排序。P 根據(jù)CPU使用百分比大小進(jìn)行排序。T 根據(jù)時(shí)間/累計(jì)時(shí)間進(jìn)行排序。 W 將當(dāng)前設(shè)置寫入/.toprc文件中。這是寫top配置文件的推薦方法3.2.2判斷I/O瓶頸1 mpstat命令命令:mpstat -P ALL 1 1000注意一下這里面的%iowait列,CPU等待I/O操作所花費(fèi)的時(shí)間。這個(gè)值持續(xù)很高通??赡苁荌
13、/O瓶頸所導(dǎo)致的。通過這個(gè)參數(shù)可以比較直觀的看出當(dāng)前的I/O操作是否存在瓶頸2 iostat命令命令: iostat -m -x 1 1000同樣你可以觀察對(duì)應(yīng)的CPU中的%iowait數(shù)據(jù),除此之外iostat還提供了一些更詳細(xì)的I/O狀態(tài)數(shù)據(jù),比如比較重要的有:avgqu-sz : The average queue length of the requests that were issued to the device. (磁盤隊(duì)列的請(qǐng)求長度,正常的話2,3比較好??梢院蚦pu的load一樣的理解)await : The average time (in milliseconds) f
14、or I/O requests issued to the device to be served. (代表一個(gè)I/O操作從wait到完成的總時(shí)間)svctm和%util都是代表處理該I/O請(qǐng)求花費(fèi)的時(shí)間和CPU的時(shí)間比例。 判斷是否瓶頸時(shí),這兩個(gè)參數(shù)不是主要的r/s w/s 和 rMB/s wMB/s 都是代表當(dāng)前系統(tǒng)處理的I/O的一些狀態(tài),前者是我們常說的tps,后者就是吞吐量。這也是評(píng)價(jià)一個(gè)系統(tǒng)的性能指標(biāo)3 pid命令命令:pidstat -p pid -u -d -t -w -h 1 1000相當(dāng)實(shí)用的一個(gè)命令,可以基于當(dāng)個(gè)進(jìn)程分析對(duì)應(yīng)的性能數(shù)據(jù),包括CPU,I/O,IR , CS等,
15、可以方便開發(fā)者更加精細(xì)化的觀察系統(tǒng)的運(yùn)行狀態(tài)。不過pidstat貌似是在2.6內(nèi)核的一些較新的版本才有,需要安裝sysstat包。ubuntu下,可以通過sudo apt-get install sysstat進(jìn)行安裝。4 sar命令命令:sar -x pid 1 1000sar的功能可以覆蓋mpstat,iostat的相關(guān)功能。5 dstat命令命令:dstat -y -tcp 1 1000通過dstat -tcp可以比較方便的看到當(dāng)前的tcp的各種狀態(tài),不需要每次netstat -nat去看其他命令 netstat -natp:查看對(duì)應(yīng)的網(wǎng)絡(luò)鏈接,關(guān)注下Recv-Q,Send-Q,Stat
16、e。 lsof -p pid:查找對(duì)應(yīng)pid的文件句柄 lsof -i: 80 :查找對(duì)應(yīng)端口被哪個(gè)進(jìn)程占用 lsof /tmp/1.txt:查找對(duì)應(yīng)文件被哪個(gè)進(jìn)程占用 tcpdump / wireshark:抓包分析工具 jstat / jmap / jstack / jps 等一系列的java監(jiān)控命令4 專題四 數(shù)據(jù)庫監(jiān)控4.1 SQL Server數(shù)據(jù)庫1 SQLServer資源監(jiān)控中指標(biāo)緩存點(diǎn)擊率(Cache Hit Ratio),該值越高越好。如果持續(xù)低于80%,應(yīng)考慮增加內(nèi)存。2 如果Full Scans/sec(全表掃描/秒)計(jì)數(shù)器顯示的值比1或2高,則應(yīng)分析你的查詢以確定是否確
17、實(shí)需要全表掃描,以及SQL查詢是否可以被優(yōu)化。 3 Number of Deadlocks/sec(死鎖的數(shù)量/秒):死鎖對(duì)應(yīng)用程序的可伸縮性非常有害,并且會(huì)導(dǎo)致惡劣的用戶體驗(yàn)。該計(jì)數(shù)器的值必須為0。4 Lock Requests/sec(鎖請(qǐng)求/秒),通過優(yōu)化查詢來減少讀取次數(shù),可以減少該計(jì)數(shù)器的值。4.2 Oracle數(shù)據(jù)庫4.2.1 Oracle性能優(yōu)化Oracle9i的性能優(yōu)化除了調(diào)整kernal之外就是主要對(duì)Oracle啟動(dòng)文件的調(diào)整,即調(diào)整SGA的參數(shù)。注意,不同操作系統(tǒng)不同位數(shù)的機(jī)器最優(yōu)的參數(shù)不是一樣的,這里主要有windows和unix之分,32位和64位
18、之分。首先需要調(diào)大進(jìn)程數(shù)和游標(biāo)數(shù),一般默認(rèn)的值對(duì)實(shí)際應(yīng)用來說都比較小,比如說,進(jìn)程數(shù)可以調(diào)到300,游標(biāo)數(shù)可以調(diào)到500。其次,看一個(gè)經(jīng)驗(yàn)公式: OS 使用內(nèi)存+ SGA + session*(sort_area_size + hash_area_size +2M)<0.7RAM,通常認(rèn)為此時(shí)的SGA比較合理。這里sort_area_size為64k, hash_area_size為128k(當(dāng)排序多的時(shí)候需要增大sort_area_size,按調(diào)整后的值計(jì)算),session表示最大并發(fā)進(jìn)程數(shù),假設(shè)100個(gè)。假如1G內(nèi)存的機(jī)器,OS占用200M,PGA占用200M左右,那么SGA可以設(shè)
19、為400-500M,如果2G內(nèi)存可以1G給SGA,8G可以5G給SGA。不過對(duì)于32位數(shù)據(jù)庫來說,通常最多只能使用1.7G內(nèi)存。然后,SGA內(nèi)參數(shù)設(shè)置的基本原則是:data buffer 通??梢员M可能的大,shared_pool_size 要適度,log_buffer 通常大到幾百K到1M就差不多。具體的:data buffer 1G內(nèi)存可以設(shè)置500M,2G設(shè)為1.2G,8G可設(shè)為5G 。shared_pool_size不易過大,通常應(yīng)該控制在200M-300M,如果使用了大量的存儲(chǔ)過程,可以根據(jù)SGA的值增大到500M,如果增大后命中率得不到提高,則增加是無益的。具體的:1G內(nèi)存可以設(shè)置
20、100M,2G設(shè)為150M,8G可設(shè)為300M。如不使用java,java_pool_size 10-20M即可。large_pool_size如果不設(shè)置MTS,在20M -30M 即可,假如設(shè)置 MTS,可以考慮為 session * (sort_area_size + 2M)。最后,關(guān)于內(nèi)存的設(shè)置可根據(jù)statspack信息和v$system_event,v$sysstat,v$sesstat,v$latch 等view信息來考慮微調(diào)。4.2.2 Oracle的其他調(diào)整為了Oracle高效率的運(yùn)行,除了上面提到的內(nèi)存因素之外,還有就是需要良好的數(shù)據(jù)庫設(shè)計(jì):表、視圖、索引和日志的合理規(guī)劃和建
21、立。I/O的性能也是重要因素,應(yīng)盡量減少頁交換和頁分配。此外,就是改善檢查點(diǎn)的效率4.2.3 Oracle的監(jiān)控指標(biāo)1 如果自由內(nèi)存接近于0而且?guī)炜齑婊驍?shù)據(jù)字典快存的命中率小于0.90,那么需要增加SHARED_POOL_SIZE的大小??齑妫ü蚕鞸QL區(qū))和數(shù)據(jù)字典快存的命中率: select(sum(pins-reloads)/sum(pins) from v$librarycache; select(sum(gets-getmisses)/sum(gets) from v$rowcache; 自由內(nèi)存: select *
22、from v$sgastat where name=free memory; 2 如果數(shù)據(jù)的緩存命中率小于0.90,那么需要加大DB_BLOCK_BUFFERS參數(shù)的值(單位:塊)。緩沖區(qū)高速緩存命中率:select name,value from v$sysstat where name in (db block gets,consistent gets,'physical reads) ;Hit Ratio = 1-(physical reads / ( db block gets + consistent gets)3 如果日志緩沖區(qū)申請(qǐng)的值較大,則應(yīng)加大L
23、OG_BUFFER參數(shù)的值。日志緩沖區(qū)的申請(qǐng)情況 :select name,value from v$sysstat where name = redo log space requests ;4 如果內(nèi)存排序命中率小于0.95,則應(yīng)加大SORT_AREA_SIZE以避免磁盤排序 。內(nèi)存排序命中率 :select round(100*b.value)/decode(a.value+b.value), 0, 1, (a.value+b.value), 2)from v$sysstat a, v$sysstat b where =sorts (disk) and =sort
24、s (memory)5 專題五 中間件監(jiān)控5.1 WeblogicwebLogic Server的核心組件由監(jiān)聽線程,套接字復(fù)用器和可執(zhí)行線程的執(zhí)行隊(duì)列組成。當(dāng)服務(wù)器由監(jiān)聽線程接收到連接請(qǐng)求后,將對(duì)它的連接控制權(quán)交給等待接收請(qǐng)求的套接字復(fù)用器。然后套接字復(fù)用器讀取離開套接字的請(qǐng)求,并將此請(qǐng)求及相關(guān)安全信息或事務(wù)處理環(huán)境一起置入適當(dāng)?shù)膱?zhí)行隊(duì)列中(一般為默認(rèn)的執(zhí)行隊(duì)列)。 當(dāng)有一個(gè)請(qǐng)求出現(xiàn)在執(zhí)行隊(duì)列中時(shí),就會(huì)有一個(gè)空閑的執(zhí)行線程從該隊(duì)列中取走發(fā)來的該請(qǐng)求,并返回應(yīng)答,然后等待下一次請(qǐng)求。因此要提高webLogic的性能,就必須從調(diào)整核心組件性能出發(fā)。與webLogic特性相關(guān)的技巧有:使用自動(dòng)生成
25、主鍵,webLogic為Oracle和Sqlserver兩種數(shù)據(jù)庫的CMP提供了自動(dòng)生成主鍵功能,節(jié)約了Entity Bean產(chǎn)生主鍵的時(shí)間,同時(shí)設(shè)key-cache-size不小于100;webLogic管理事務(wù)性能更好,使用容器管理,而不是Bean管理事務(wù);webLogic提供了為CMP動(dòng)態(tài)查詢和批量插入功能,對(duì)性能也有很大幫助。5.2 Websphere5.2.1 線程池線程池使服務(wù)器的組件能重用線程以消除在運(yùn)行時(shí)創(chuàng)建新線程的消耗,包括時(shí)間和資源。缺省值:最小10 最大50建議值:最小25(Linux) 最大50(Unix)上限:最大10005.2.2 數(shù)據(jù)庫連接池 缺省值
26、最小連接數(shù) 1 最大連接數(shù)10連接超時(shí)180秒空閑超時(shí)1800秒孤立超時(shí)1800秒語句高速緩存大小10自動(dòng)連接清楚 連接池大小影響1 最小池大小較小的池在需求較低時(shí)需要較小的開銷,因?yàn)楸3执蜷_的數(shù)據(jù)庫連接較少。當(dāng)需求較高時(shí),因?yàn)槿绻刂兴衅渌倪B接都在使用當(dāng)中,則創(chuàng)建新的連接,所以第一個(gè)應(yīng)用程序經(jīng)歷較慢的響應(yīng)。2 最大池大小如果已經(jīng)達(dá)到了最大連接數(shù)并且所有連接都在使用中,則其他連接請(qǐng)求會(huì)最多等待指定為連接超時(shí)的秒數(shù)。最大池大小會(huì)影響程序的性能。較大的池在需求較高時(shí)需要更多的開銷,因?yàn)樵谛枨蟾叻鍟r(shí)有更多的連接打開。這些連接一直存留,直到空閑而脫離池。如果最大池較小,則在高峰期會(huì)發(fā)
27、生更多的等待時(shí)間或可能有連接超時(shí)錯(cuò)誤。 判斷瓶頸方法當(dāng)使用Tivoli Performance Viewer工具監(jiān)控JMS時(shí),某個(gè)連接工廠的連接池大小和空閑連接池大小指的是該工廠管理的使用connection數(shù)和空閑connection數(shù)。而某個(gè)connection的連接池大小和空閑連接池大小指的是該connection管理的活動(dòng)會(huì)話數(shù)和空閑會(huì)話數(shù)。在WAS管理控制臺(tái)上看到連接工廠對(duì)應(yīng)2個(gè)屬性:連接池和會(huì)話池。連接池的最大連接數(shù)表示一個(gè)連接工廠內(nèi)最多可擁有的連接數(shù),會(huì)話池的最大連接數(shù)表示一個(gè)連接內(nèi)可擁有的最大會(huì)話數(shù)。而“JMS連接工廠”節(jié)點(diǎn)中顯示的連接池和空閑連接池的數(shù)值只是下面
28、所有葉子節(jié)點(diǎn)的數(shù)值之和,本身并沒有實(shí)際意義。6 專題六 調(diào)優(yōu)策略6.1 服務(wù)器調(diào)優(yōu)6.1.1 Linux 調(diào)優(yōu)基本策略(ulimit)ulimit -a 用來顯示當(dāng)前的各種用戶進(jìn)程限制。 Linux對(duì)于每個(gè)用戶,系統(tǒng)限制其最大進(jìn)程數(shù)。為提高性能,可以根據(jù)設(shè)備資源情況, 設(shè)置各linux 用戶的最大進(jìn)程數(shù),下面我把某linux用戶的最大進(jìn)程數(shù)設(shè)為10000個(gè): ulimit -u 10000 對(duì)于需要做許多 socket 連接并使它們處于打開狀
29、態(tài)的 Java 應(yīng)用程序而言, 最好通過使用 ulimit -n xx 修改每個(gè)進(jìn)程可打開的文件數(shù),缺省值是 1024。 ulimit -n 4096 將每個(gè)進(jìn)程可以打開的文件數(shù)目加大到4096,缺省為1024 其他建議設(shè)置成無限制(unlimited)的一些重要設(shè)置是: 數(shù)據(jù)段長度:ulimit -d unlimited 最大內(nèi)存大?。簎limit
30、 -m unlimited 堆棧大?。簎limit -s unlimited CPU 時(shí)間:ulimit -t unlimited 虛擬內(nèi)存:ulimit -v unlimited 暫時(shí)地,適用于通過 ulimit 命令登錄 shell 會(huì)話期間。 永久地,通過將一個(gè)相應(yīng)的 ulimit 語句添加到由登錄 shell 讀取的文件中, 即特定于 she
31、ll 的用戶資源文件,如: 1)、解除 Linux 系統(tǒng)的最大進(jìn)程數(shù)和最大文件打開數(shù)限制: vi /etc/security/limits.conf # 添加如下的行 * soft noproc 11000 * hard noproc 11000
32、60; * soft nofile 4100 * hard nofile 4100 說明:* 代表針對(duì)所有用戶 noproc 是代表最大進(jìn)程數(shù)
33、 nofile 是代表最大文件打開數(shù) 2)、讓 SSH 接受 Login 程式的登入,方便在 ssh 客戶端查看 ulimit -a 資源限制: a、vi /etc/ssh/sshd_config 把 UserLogin 的值改為 yes,并把 # 注釋去掉 b、重啟 sshd 服務(wù):
34、; /etc/init.d/sshd restart3)、修改所有 linux 用戶的環(huán)境變量文件:vi /etc/profile ulimit -u 10000ulimit -n 4096ulimit -d unlimited ulimit -m unlimited ulimit -s unlimited ulimit -t unlimited ulimit -v unlimited /*有時(shí)候在程序里面需要打開多個(gè)文件,進(jìn)行分析,系統(tǒng)一般默認(rèn)數(shù)量是1024,(用ulimit -a可以看到)對(duì)
35、于正常使用是夠了,但是對(duì)于程序來講,就太少了。修改2個(gè)文件。1./etc/security/limits.confvi /etc/security/limits.conf加上:* soft nofile 8192* hard nofile 204802./etc/pam.d/loginsession required /lib/security/pam_limits.so*另外確保/etc/pam.d/system-auth文件有下面內(nèi)容session required /lib/security/$ISA/pam_limits.so這一行確保系統(tǒng)會(huì)執(zhí)行這個(gè)限制。*3.一般用戶的.bash_p
36、rofile#ulimit -n 1024重新登陸ok6.1.2 Unix系統(tǒng)調(diào)優(yōu)影響UNIX系統(tǒng)性能的主要因素有三個(gè):系統(tǒng)硬件、文件系統(tǒng)與核心參數(shù)。一、 系統(tǒng)硬件 系統(tǒng)硬件資源的改善有利于操作系統(tǒng)性能的提高。比如,CPU主頻的提高或者CPU的檔次提高,系統(tǒng)性能自然就提高了;內(nèi)存方面,將內(nèi)存增大,一般都能使應(yīng)用軟件運(yùn)行速度加快,其中,有無高速緩存(Cache),影響也較明顯;對(duì)于多線程的應(yīng)用(如數(shù)據(jù)庫Informix的操作),采用對(duì)稱多處理器服務(wù)器,能使性能得到明顯提高。經(jīng)測(cè)試, 雙CPU系統(tǒng)性能比單CPU系統(tǒng)性能可提高80。又如,硬盤的容量以及硬盤控制器的類型也會(huì)影響UNIX的讀寫
37、I/O性能。舉個(gè)例子,采用 fastwide SCSI類型的硬盤比采用fast SCSI的更好;采用磁盤陣列比非磁盤陣列更好。另外,對(duì)于系統(tǒng)I/O方面,最好選用智能的網(wǎng)卡或多用戶卡,由于這些控制卡有自己的處理器和緩存,可以減少UNIX系統(tǒng)資源的開銷,這樣UNIX就可騰出資源供應(yīng)用軟件使用??傊?,系統(tǒng)硬件是 影響UNIX性能的主要因素,用戶應(yīng)根據(jù)特定應(yīng)用的需求與資金的情況合理地選購所需要的系統(tǒng)硬件。 二、 文件系統(tǒng) 文件系統(tǒng)是UNIX操作系統(tǒng)單獨(dú)的一塊,它由文件、目錄以及定位和訪問他們所需要的信息組成,可以簡單地認(rèn)為文件系統(tǒng)是文件和目錄組織起來的 結(jié)構(gòu)。每個(gè)UNIX
38、系統(tǒng)在主硬盤上至少有一個(gè)根文件系統(tǒng)/root。當(dāng)主硬盤容量足夠大,為了保護(hù)數(shù)據(jù)和更方便地維護(hù)系統(tǒng),最好將主硬盤劃分為多個(gè)文件系 統(tǒng),即通常所說的/u文件系統(tǒng)。同時(shí),通過安裝另外的硬盤可附加更多的文件系統(tǒng),從而擴(kuò)展系統(tǒng)的存儲(chǔ)空間。如在我們的清算系統(tǒng)中,就有二、三個(gè)硬盤,并建 立了兩個(gè)文件系統(tǒng):/root和/home,后者專門用于安裝數(shù)據(jù)庫及應(yīng)用軟件。 在安裝/root文件系統(tǒng)過程中,需要確定交換區(qū)(swap area)的大小。交換區(qū)至少應(yīng)和內(nèi)存一樣大,也可根據(jù)以下的公式來估算: 用戶數(shù)最大進(jìn)程長度(512K)大應(yīng)用程序數(shù)512KB 通常對(duì)于大型數(shù)據(jù)庫應(yīng)用,交換區(qū)的大小一般在內(nèi)存小于51
39、2M時(shí),取內(nèi)存的兩倍,如果內(nèi)存大于1G取與實(shí)際內(nèi)存相等。 如果在系統(tǒng)運(yùn)行期間需要調(diào)整系統(tǒng)的交換區(qū),可以使用系統(tǒng)命令swap來增加刪除交換區(qū)的大小,具體使用方法可以參看UNIX系統(tǒng)的幫助文檔。 采用分離的文件系統(tǒng)有若干優(yōu)點(diǎn):1對(duì)于一個(gè)小的文件系統(tǒng)來說,操作系統(tǒng)只需檢索少量的節(jié)點(diǎn)和數(shù)據(jù)塊,文件存取速度比較快;2檢查和清理兩個(gè)小 的文件系統(tǒng)比一個(gè)大的文件系統(tǒng)要節(jié)省較多時(shí)間;3在一個(gè)系統(tǒng)的崩潰過程中,一個(gè)較少活動(dòng)的文件系統(tǒng)要比一個(gè)活動(dòng)的文件系統(tǒng)所經(jīng)受的破壞?。?此外,分離的 文件系統(tǒng)后援容易。這就是我們使用的很多數(shù)據(jù)庫及應(yīng)用軟件安裝在分離的文件系統(tǒng)的主要原因。 另外,維護(hù)文件系統(tǒng)的完整性是操作系統(tǒng)工作
40、的組成部份 。UNIX系統(tǒng)在一些結(jié)構(gòu)中存在一定的冗余,因此具有很強(qiáng)的糾錯(cuò)能力。UNIX使用 fsck程序一般可修復(fù)被損壞的文件系統(tǒng)。任何損壞一般只影響一、兩個(gè)文件。只有極少的情況,才會(huì)造成整個(gè)文件系統(tǒng)的癱瘓。但是,作為系統(tǒng)管理員或操作 員,需要遵守以下幾個(gè)原則,以維護(hù)文件系統(tǒng)的完整性,1在安裝文件系統(tǒng)前一定要檢查它;2在未拆卸文件系統(tǒng)前不能物理地搬走它;3在關(guān)閉文件系統(tǒng)和拆卸文 件系統(tǒng)前必須使用sync命令,它可將高速緩存中的數(shù)據(jù)寫回磁盤;4定期做文件系統(tǒng)的后援。 文件系統(tǒng)面臨的另一個(gè)問題是空閑空間可能不夠。每個(gè)文件系統(tǒng)中至少保證有15的空間是空閑的,UNIX系統(tǒng)才能運(yùn)行得最好。如果
41、文件系統(tǒng)的 空閑空間少于15,則系統(tǒng)操作通常變得比較遲鈍。因此,特別是對(duì)于系統(tǒng)管理員來說,應(yīng)該有規(guī)律地檢查所有安裝的文件系統(tǒng)的空閑空間總數(shù),并提醒用戶使他 們不用的文件的目錄空閑。當(dāng)空閑空間不夠時(shí),應(yīng)找出并刪除臨時(shí)文件和core文件,作文件系統(tǒng)的后援,如有必要增加另一個(gè)文件系統(tǒng)。 三、 核心參數(shù) 在建立UNIX系統(tǒng)時(shí),核心參數(shù)的協(xié)調(diào)如何是影響應(yīng)用系統(tǒng)的重要因素。第一次建立系統(tǒng)時(shí),系統(tǒng)會(huì)自動(dòng)地為適應(yīng)大多數(shù)應(yīng)用產(chǎn)生一個(gè)確省的核心參 數(shù)配置。但是,用戶應(yīng)該針對(duì)具體應(yīng)用的模式和特性,調(diào)整核心參數(shù)配置,從而提高性能以適應(yīng)特殊的應(yīng)用。系統(tǒng)的核心控制著大量經(jīng)常使用的、釋放和重復(fù)使用的 資源(包括緩
42、沖區(qū)、表項(xiàng)及其它可定義的值,以管理特殊的資源,比如信號(hào)燈的數(shù)量等)。一般存在下列原因時(shí),需對(duì)系統(tǒng)資源進(jìn)行重新分配: 安裝了附加的硬件存儲(chǔ)器。 顯示持續(xù)的錯(cuò)誤表明系統(tǒng)的某些資源(如節(jié)點(diǎn)和表項(xiàng))已用完。 系統(tǒng)響應(yīng)時(shí)間一直較慢,表明其它資源限制過死,系統(tǒng)不能高效地工作。 資源需重新調(diào)整以適應(yīng)特別應(yīng)用的需要。 專業(yè)化的應(yīng)用為了獲得最優(yōu)的性能需要對(duì)關(guān)鍵資源(核心參數(shù))進(jìn)行重新分配。例如,使用大型的Informix數(shù)據(jù)庫時(shí),需要同時(shí)鎖住多于當(dāng)前 文件鎖所允許的文件個(gè)數(shù);要求共享內(nèi)存為系統(tǒng)總內(nèi)存的四分之一等;系統(tǒng)存在大量的交互式通訊時(shí),應(yīng)用所要求的信號(hào)燈個(gè)數(shù)以及每個(gè)信號(hào)燈標(biāo)示符的信號(hào)燈個(gè)數(shù) 可能都超過系統(tǒng)的
43、確省值。系統(tǒng)核心參數(shù)的調(diào)整應(yīng)由有經(jīng)驗(yàn)的系統(tǒng)管理員來完成,調(diào)整后應(yīng)重新鏈接UNIX的核心,調(diào)整的參數(shù)才能生效。 在系統(tǒng)持續(xù)出現(xiàn)某個(gè)錯(cuò)誤時(shí),需要重新分配系統(tǒng)資源。首先,設(shè)法少量地增加資源。如問題仍存在,則以它初始值的50至100增加資源,問題 或許能夠得到解決。如,出現(xiàn)這些信息時(shí),“Inode Table Overflow”,“no file”或“no more process”應(yīng)增加 NINDOE、NFILE、NPROC等參數(shù)的值。NINDOE定義節(jié)點(diǎn)活動(dòng)表的大小,一般為100400,最大為16000,NFILE定義系統(tǒng)文 件活動(dòng)表的大小,一般為
44、100600,最大為16000,NPROC定義系統(tǒng)允許的最大進(jìn)程數(shù),一般取值為503000。 磁盤的I/O操作可能是系統(tǒng)性能的一個(gè)瓶頸,解決方法有:1選擇適當(dāng)?shù)木彌_區(qū)數(shù)目(NBUF和NHBUF),NBUF定義系統(tǒng)中全部緩沖區(qū)的 數(shù)量,一般為100600,最大為65536,NHBUF定義系統(tǒng)的混合隊(duì)列,最小為32,默認(rèn)為256,最大為131072,一般與NBUF配套調(diào) 整;2組織文件系統(tǒng)以減少磁盤訪問次數(shù)等。增加NBUF和NHBUF的值到某一點(diǎn),便可提高系統(tǒng)的性能。一般系統(tǒng)內(nèi)存為4MB的系統(tǒng)大約可提供600K的 空間給緩沖區(qū)。NHBUF的值為2的n次方,大約為NBUF的四分之一。 作為系統(tǒng)管理員
45、,應(yīng)該非常熟悉vmstat命令,因?yàn)関mstat是應(yīng)用程序檢測(cè)和協(xié)調(diào)系統(tǒng)性能的十分有用的工具。 值得注意的是,系統(tǒng)核心參數(shù)的變化直接影響系統(tǒng)的性能,因此改變時(shí)應(yīng)十分小心。應(yīng)對(duì)影響具體應(yīng)用的參數(shù)的不同組合做實(shí)驗(yàn),以找到最優(yōu)組合。6.2 Oracle數(shù)據(jù)庫調(diào)優(yōu)1. Introduction 介紹本文檔包括了最一般的調(diào)優(yōu)策略。關(guān)于各部分的更專門的信息可以通過提供的鏈接得到。2. Shared Pool and Library Cache Performance Tuning 共享池和Library Cache的調(diào)優(yōu)Oracle將SQL語句、存儲(chǔ)包、對(duì)象信息和很多其他的項(xiàng)目保存在SGA中一個(gè)叫共享池(
46、shared pool)的地方。這個(gè)可共享的區(qū)域由一個(gè)成熟的高速緩存和堆管理器管理。它有3個(gè)基本的問題要克服:1.) 內(nèi)存分配的單元不是個(gè)常量。從池中分配的內(nèi)存單元可能是從幾個(gè)字節(jié)到幾千個(gè)字節(jié)。 2.) 在用戶完成工作時(shí),不是所有的內(nèi)存都能夠釋放出來,因?yàn)楣蚕沓氐哪繕?biāo)是使信息最大程度的共享。3.) 沒有一個(gè)象其他常規(guī)的高速緩存的文件做后備的存儲(chǔ)那樣磁盤空間供整頁的導(dǎo)出。 只有可重新創(chuàng)建的信息可以從Cache中丟棄,在他被再次需要的時(shí)候再重新創(chuàng)建。共享池調(diào)優(yōu)的技巧有:-刷( Flush)共享池可以使小塊的內(nèi)存合并為大塊的內(nèi)存。當(dāng)共享池的碎片過多時(shí),這能夠暫時(shí)恢復(fù)性能。刷共享池可以使用語句:alt
47、er system flush shared_pool; 注意執(zhí)行這個(gè)語句將會(huì)造成性能的暫時(shí)尖峰,因?yàn)閷?duì)象都要重新加載。所以應(yīng)當(dāng)在數(shù)據(jù)庫的負(fù)載不是很大的情況下進(jìn)行。- 確保聯(lián)機(jī)事務(wù)處理( OLTP)應(yīng)用使用綁定變量 (bind variables). 這一點(diǎn)對(duì)于決策支持系統(tǒng)(DSS)并不重要。- 確保library cache 的命中率 > 95%- 增大共享池并不總能解決命中率過多的問題。3. Buffer Cache Performance Tuning 數(shù)據(jù)庫緩存調(diào)優(yōu)數(shù)據(jù)庫緩存保持了從磁盤上讀去的數(shù)據(jù)塊的備份。因?yàn)榫彺嫱ǔJ艿絻?nèi)存約束的限制,不是磁盤上所有的數(shù)據(jù)都可以放到緩存里。當(dāng)
48、緩存滿了的時(shí)候,后來的緩存不中使得Oracle將已經(jīng)在緩存中的數(shù)據(jù)寫到磁盤上。后續(xù)的對(duì)寫到磁盤上的數(shù)據(jù)的訪問還會(huì)造成緩存不中。數(shù)據(jù)庫緩存調(diào)優(yōu)的技巧如下:避免以下的問題- '緩存的最近最少使用(LRN)鏈'('cache buffers LRU chain' )的加鎖競(jìng)爭- '平均寫隊(duì)列'("Average Write Queue" )長度過大- 過多時(shí)間花在等待寫完畢等待上("write complete waits" )- 過多時(shí)間花在等待緩沖釋放等待上 ("free buffer waits&
49、quot; )4. Latch Contention 加鎖(插銷)競(jìng)爭 插銷加鎖是SGA中保護(hù)共享數(shù)據(jù)結(jié)構(gòu)的低層的串行化機(jī)制。插銷latch是一類可以非常快的獲得和釋放的鎖。插銷鎖的實(shí)現(xiàn)是依賴于操作系統(tǒng)的,尤其在關(guān)于一個(gè)進(jìn)程是否會(huì)等待一個(gè)鎖,和等多久方面。有如下的鎖(插銷)需要調(diào)優(yōu): - Redo Copy/Allocation Latch 重寫日志的復(fù)制/分配插銷- Shared Pool Latch 共享池的插銷- Library Cache Latch Library Cache插銷5. Redo Log Buffer Performance Tuning 重寫日志緩沖的調(diào)優(yōu) LGWR
50、將重寫日志緩沖中的重寫項(xiàng)寫到重寫日志文件中。一旦LGWR將這些項(xiàng)復(fù)制到重寫日志文件中,用戶進(jìn)程就可以重寫這些項(xiàng)。統(tǒng)計(jì)項(xiàng)目"redo log space requests"反映了用戶進(jìn)程等待重寫日志緩沖中空間的時(shí)間的數(shù)字。設(shè)置重寫日志大小的一些提示:- "redo log space requests"的值應(yīng)該接近0。- 設(shè)定合適的重寫日志的大小,建議每15-30分鐘進(jìn)行一次重寫日志的切換。6. Query Performance Tuning 查詢效率的調(diào)優(yōu) 如果查詢運(yùn)行得很慢,請(qǐng)考慮這些方面:- 你希望這個(gè)查詢運(yùn)行的有多快以及有理由這樣要求嗎?- 優(yōu)化
51、模式OPTIMIZER_MODE 設(shè)為何值?- 查詢涉及的索引都是有效的嗎?- 在數(shù)據(jù)庫中有沒有其他的長時(shí)間運(yùn)行的查詢(大查詢)對(duì)于CBO(基于成本的優(yōu)化)In case of CBO:- 表和索引上有統(tǒng)計(jì)信息嗎?- 統(tǒng)計(jì)信息是被計(jì)算出來的還是被估計(jì)出來的?對(duì)于查詢的性能調(diào)整由兩個(gè)主要的調(diào)試工具:- TKPROF - AUTOTRACE 7. Rollback Segment Performance Tuning 回滾段的調(diào)優(yōu) Oracle數(shù)據(jù)庫提供了任何數(shù)據(jù)庫對(duì)象上的SELECT, INSERT, UPDATE, 和DELETE 操作的讀一致性?;貪L段用于保存由那些要回滾的動(dòng)作或系統(tǒng)需要產(chǎn)生
52、一個(gè)和前面某一時(shí)間讀一致的影像所產(chǎn)生的可取消事務(wù)。設(shè)置回滾段大小的技巧如下:- 建議最少每4個(gè)事務(wù)一個(gè)回滾段- 建議為長時(shí)間運(yùn)行的大查詢提供一個(gè)大回滾段。- v$rollstat中的wrap數(shù)接近0。否則增大擴(kuò)展大?。╡xtent size)。 SELECT , a.wraps FROM V$ROLLSTAT a, V$ROLLNAME b;8. Temporary Tablespace Performance Tuning 臨時(shí)表空間的調(diào)優(yōu) 從RDBMS release 7.3開始,Oracle引入了臨時(shí)表空間的概念。這個(gè)表空間用于保存臨時(shí)對(duì)象,如排序段。排序段采用它所在的表空間的缺省存儲(chǔ)參數(shù)(DEFAULT STORAGE (NEXT) 子句)作為自己的存儲(chǔ)參數(shù)。臨時(shí)表空間的調(diào)優(yōu)的技巧如下:- 如果即使在穩(wěn)定的狀態(tài)下也存在很多的排序擴(kuò)展鎖(Sort Extent Pool latch)的競(jìng)爭,你應(yīng)該通過修改臨時(shí)表空間的DEFAULT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國全棉印花羅紋布行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國被動(dòng)紅外夜視儀數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 技術(shù)服務(wù)成果轉(zhuǎn)化路徑與模式探索考核試卷
- 醫(yī)藥制造業(yè)的市場(chǎng)調(diào)研案例考核試卷
- 寵物友好社區(qū)活動(dòng)組織考核試卷
- 2025-2030年手工雕刻工具行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年商業(yè)智能垃圾分類處理平臺(tái)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年即食魚豆腐干企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年聲紋識(shí)別認(rèn)證技術(shù)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年手工刺繡定制西裝套裝企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025年大慶職業(yè)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 2025年中國南方航空股份有限公司招聘筆試參考題庫含答案解析
- 商務(wù)部發(fā)布《中國再生資源回收行業(yè)發(fā)展報(bào)告(2024)》
- 山東省濟(jì)南市2024-2024學(xué)年高三上學(xué)期1月期末考試 地理 含答案
- 2025年福建新華發(fā)行(集團(tuán))限責(zé)任公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 實(shí)施彈性退休制度暫行辦法解讀課件
- 冷凍食品配送售后服務(wù)體系方案
- 江蘇省駕??荚嚳颇恳豢荚囶}庫
- 四川省成都市青羊區(qū)成都市石室聯(lián)合中學(xué)2023-2024學(xué)年七上期末數(shù)學(xué)試題(解析版)
- 中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)-氣管切開非機(jī)械通氣患者氣道護(hù)理
- 曹晶《孫悟空大鬧蟠桃會(huì)》教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論