性能測試診斷分析與優(yōu)化課件_第1頁
性能測試診斷分析與優(yōu)化課件_第2頁
性能測試診斷分析與優(yōu)化課件_第3頁
性能測試診斷分析與優(yōu)化課件_第4頁
性能測試診斷分析與優(yōu)化課件_第5頁
已閱讀5頁,還剩111頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

性能測試診斷分析與優(yōu)化培訓(xùn)講師介紹陳能技()11年軟件測試與質(zhì)量管理經(jīng)驗著作:《軟件測試技術(shù)大全》《.NET軟件測試實戰(zhàn)技術(shù)大全》《QTP自動化測試最佳實踐》《軟件自動化測試成功之道》《性能測試診斷分析與優(yōu)化》培訓(xùn)課堂的注意事項培訓(xùn)中積極、主動不僅使您獲得更多的收獲,也使培訓(xùn)講師能有的放矢、保持激情。持之以恒、集中精力,您收獲的將不僅是知識;請您記得將手機(jī)調(diào)至震動狀態(tài)或關(guān)機(jī),以免影響您的同學(xué)。培訓(xùn)后填寫課程反饋表刪除桌面臨時文件關(guān)機(jī)性能監(jiān)控方法性能診斷分析與優(yōu)化性能測試新興技術(shù)介紹一、性能監(jiān)控方法操作系統(tǒng)層性能監(jiān)控Web服務(wù)器性能監(jiān)控中間件服務(wù)器性能監(jiān)控1、操作系統(tǒng)層性能監(jiān)控CPU性能監(jiān)控內(nèi)存性能監(jiān)控磁盤IO性能監(jiān)控網(wǎng)絡(luò)性能監(jiān)控開源網(wǎng)絡(luò)性能監(jiān)控工具的應(yīng)用使用Spotlight監(jiān)控操作系統(tǒng)Top使用方式:top[-][ddelay][q][c][S][s][i][n][b]說明:即時顯示process的動態(tài)d:改變顯示的更新速度,或是在交談式指令列(interactivecommand)按sq:沒有任何延遲的顯示速度,如果使用者是有superuser的權(quán)限,則top將會以最高的優(yōu)先序執(zhí)行c:切換顯示模式,共有兩種模式,一是只顯示執(zhí)行檔的名稱,另一種是顯示完整的路徑與名稱S:累積模式,會將己完成或消失的子行程(deadchildprocess)的CPUtime累積起來s:安全模式,將交談式指令取消,避免潛在的危機(jī)i:不顯示任何閑置(idle)或無用(zombie)的行程n:更新的次數(shù),完成后將會退出topb:批次檔模式,搭配"n"參數(shù)一起使用,可以用來將top的結(jié)果輸出到檔案內(nèi)范例:顯示更新十次后退出;top-n10將更新顯示二次的結(jié)果輸入到名稱為top.log的檔案里:top-n2-b>top.log

Vmstatr表示運(yùn)行隊列的大小b表示由于IO等待而block的線程數(shù)量in表示中斷的數(shù)量cs表示上下文切換的數(shù)量us表示用戶CPU時間sys表示系統(tǒng)CPU時間wa表示由于IO等待而是CPU處于idle狀態(tài)的時間id表示CPU處于idle狀態(tài)的總時間DSTATdstat可以給出每一個設(shè)備產(chǎn)生的中斷數(shù)設(shè)備名和設(shè)備號的關(guān)系可以參考文件/proc/interruptssar%user列顯示了用戶進(jìn)程消耗的CPU

時間百分比。%nice列顯示了運(yùn)行正常進(jìn)程所消耗的CPU

時間百分比。%system列顯示了系統(tǒng)進(jìn)程消耗的CPU時間百分比。%iowait列顯示了IO等待所占用的CPU時間百分比%steal列顯示了在內(nèi)存相對緊張的環(huán)境下pagein強(qiáng)制對不同的頁面進(jìn)行的steal操作

。%idle列顯示了CPU處在空閑狀態(tài)的時間百分比。sar25

//每隔2秒,顯示5次,CPU使用的情況sar支持保存成兩種格式的文件,一種是文本文件,一種是二進(jìn)制文件(只有通過sar自己的命令才能查看)sar110>data.txtsar15-odata

//每隔1秒,寫入5次,將CPU使用的數(shù)據(jù)寫入二進(jìn)制文件data中。

sar-fdata

//查看data文件Pidstat監(jiān)視某個進(jìn)程的CPU使用情況1. 通過ps命令找到相應(yīng)進(jìn)程的PID:ps-e2. 使用pidstat命令監(jiān)視進(jìn)程,詳細(xì)用法見:

pidstat25每隔2秒,顯示5次,所有活動進(jìn)程的CPU使用情況pidstat-p313225每隔2秒,顯示5次,PID為1643的進(jìn)程的CPU使用情況顯示pidstat-p313225-r每隔2秒,顯示5次,PID為1643的進(jìn)程的內(nèi)存使用情況顯示內(nèi)存性能監(jiān)控查看內(nèi)存信息:cat/proc/meminfoFree–mVmstat210TopPsvmstatvmstatmemoryswpd列表示切換到內(nèi)存交換區(qū)的內(nèi)存數(shù)量(以k為單位)。如果swpd的值不為0,或者比較大,只要si、so的值長期為0,這種情況下一般不用擔(dān)心,不會影響系統(tǒng)性能。free列表示當(dāng)前空閑的物理內(nèi)存數(shù)量(以k為單位)buff列表示bufferscache的內(nèi)存數(shù)量,一般對塊設(shè)備的讀寫才需要緩沖。cache列表示pagecached的內(nèi)存數(shù)量,一般作為文件系統(tǒng)cached,頻繁訪問的文件都會被cached,如果cache值較大,說明cached的文件數(shù)較多,如果此時IO中bi比較小,說明文件系統(tǒng)效率比較好。swapsi列表示由磁盤調(diào)入內(nèi)存,也就是內(nèi)存進(jìn)入內(nèi)存交換區(qū)的數(shù)量。so列表示由內(nèi)存調(diào)入磁盤,也就是內(nèi)存交換區(qū)進(jìn)入內(nèi)存的數(shù)量。一般情況下,si、so的值都為0,如果si、so的值長期不為0,則表示系統(tǒng)內(nèi)存不足。需要增加系統(tǒng)內(nèi)存。監(jiān)控單個進(jìn)程占用內(nèi)存的情況top-d1

然后shift+m(Sortbymemoryusage)Ps

aux

|grepHoldMemoryMaintop-b-n1-p21642|tail-2|head-1|awk'{print$5}'VIRT=SVIRT進(jìn)程使用的虛擬內(nèi)存總量,單位kbSWAP進(jìn)程使用的虛擬內(nèi)存中,被換出的大小,單位kbRES進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位kbiostatiotoppidstatpidstat-d1pidstat-Ctest_io-t-d1網(wǎng)絡(luò)性能監(jiān)控pingNetstat-iSar-nDEV13Sar-n

SOCK

1

3ifTop、ipTrafifTopNmonNmon是IBM提供的開源監(jiān)控工具,可對AIX和Linux系統(tǒng)資源進(jìn)行監(jiān)控,可收集系統(tǒng)資源使用情況并輸出到特定文件,并可利用Excel分析工具進(jìn)行數(shù)據(jù)統(tǒng)計分析。使用Spotlight監(jiān)控操作系統(tǒng)2、Web服務(wù)器性能監(jiān)控IHS性能監(jiān)控方法HTTP連接狀態(tài)監(jiān)控Web服務(wù)器吞吐量監(jiān)控IHS性能監(jiān)控打開server-status監(jiān)控狀態(tài)監(jiān)控頁面打開server-status監(jiān)控LoadModulestatus_modulemodules/ApacheModuleStatus.dll#Allowserverstatusreports,withtheURLof#Changethe".your_"tomatchyourdomaintoenable.<Location/server-status>SetHandlerserver-statusorderdeny,allowdenyfromallallowfrom</Location>狀態(tài)監(jiān)控頁面ScoreboardKey:"_"WaitingforConnection,"S"Startingup,"R"ReadingRequest,"W"SendingReply,"K"Keepalive(read),"D"DNSLookup,"L"Logging,"G"Gracefullyfinishing,"."OpenslotwithnocurrentprocessWeb服務(wù)器網(wǎng)絡(luò)連接監(jiān)控Linux下實時檢測httpd連接數(shù)watch-n1-d"pgrephttpd|wc-l“查看TCP并發(fā)連接情況:netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'Web服務(wù)器網(wǎng)絡(luò)連接監(jiān)控3、中間件服務(wù)器性能監(jiān)控WAS性能監(jiān)控WAS自帶監(jiān)控工具的使用perfServletApp的使用方法LoadRunner監(jiān)控WAS使用AppDynamics監(jiān)控WebSphereJVM性能監(jiān)控方法及工具GC日志監(jiān)控分析ThreadDumpJVM遠(yuǎn)程監(jiān)控JDBC性能監(jiān)控WAS性能漏斗模型WAS性能監(jiān)控的方面Session線程池JDBC連接JVM性能WAS性能監(jiān)控的方法和工具WAS自帶性能監(jiān)控工具的使用perfServletApp的使用方法LoadRunner監(jiān)控WASWAS自帶性能監(jiān)控工具的使用WAS自帶性能監(jiān)控工具的使用用TPV監(jiān)控JVM發(fā)現(xiàn)內(nèi)存泄漏現(xiàn)象perfServletApp的使用方法部署PerfServletApp.ear到WebSphere目錄下perfServletApp的使用方法LoadRunner監(jiān)控WASJVM性能監(jiān)控通用方法JConsole實時監(jiān)控JVMGC日志分析HeapDumpThreadDumpJVM性能監(jiān)控通用方法-JConsole實時監(jiān)控JVMJVM性能監(jiān)控通用方法-GC日志分析打開WASGC日志打開WAS

GC日志Java和進(jìn)程管理->進(jìn)程定義->Java虛擬機(jī)->詳細(xì)垃圾回收(保存配置后重新啟動服務(wù)生效)Java和進(jìn)程管理->進(jìn)程定義->Java虛擬機(jī)->運(yùn)行時->詳細(xì)垃圾回收(確認(rèn)后立即生效)在通用JVM參數(shù)輸入框中添加:-Xverbosegclog:gc.logJVM

GC日志的保存目錄

WASHOME/pronative_stderr.log

和native_stdout.logC:\WebSphere\AppServer\profiles\AppSrv01\gc.logGC日志分析工具IBMSupportAssistant-GarbageCollectionandMemoryVisualizerIBMPatternModelingandAnalysisTool(PMAT)GCViewer…JVM性能監(jiān)控通用方法-HeapDumpheapdump文件是一個二進(jìn)制文件,它保存了某一時刻jvm堆中對象情況,這種文件需要相應(yīng)的工具進(jìn)行分析,例如heap

analyzer。這個文件最重要的作用就是分析系統(tǒng)是否存在內(nèi)存溢出的情況,通過heapanalyzer可以很簡單地分析出溢出的位置。產(chǎn)生WASHeapDump的方法JVM性能監(jiān)控通用方法-ThreadDump線程監(jiān)控和分析工具Threaddump提供了當(dāng)前活動的線程的快照.

它提供了JVM中所有Java線程的棧跟蹤信息產(chǎn)生WASThreadDump的方法Jconsole\VisualVM\JProfilerThreadDumpAnalyzerIBMThreadandMonitorDumpAnalyzerforJavaJVM遠(yuǎn)程監(jiān)控JstatdJconsole\visualvmJprofile中間件性能監(jiān)控與分析工具HP

Diagnostics

\

JProfiler

\

JProbe

\

YourKit

\AppDynamicsDomainHealth

\

Javamelody

\

JAMONAppDynamicsWAS的Session監(jiān)控與分析ActiveCount:正在處理請求的Session數(shù)量LiveCount:目前緩存在內(nèi)存中的本地Session的數(shù)量WAS線程數(shù)監(jiān)控分析ActiveCount:處于激活狀態(tài)的線程數(shù)。PoolSize:線程池中的平均線程數(shù)。PercentMaxed:所有線程在使用的時間的平均百分比。DeclaredthreadHungCount:掛起的線程數(shù)。WAS的JDBC連接池監(jiān)控WaitingThreadCount:當(dāng)前等待連接的線程。FaultCount:在連接池中出現(xiàn)錯誤(例如超時)的數(shù)量。PercentUsed:當(dāng)前連接池中被使用的平均百分比。JDBC性能分析P6spy+sqlprofilerJDbMonitorJAMONJProfiler監(jiān)控JDBC二、性能診斷分析與優(yōu)化操作系統(tǒng)層性能分析與優(yōu)化HIS服務(wù)器配置優(yōu)化中間件性能分析與優(yōu)化JVM性能分析使用JConsole\JavaVisualVM監(jiān)控和分析WebSphere的JVM性能JVM參數(shù)調(diào)整與優(yōu)化利用JProfiler分析定位Java內(nèi)存泄漏問題Java代碼線程死鎖問題分析與定位JSP\Servlet性能優(yōu)化方法操作系統(tǒng)層性能分析與優(yōu)化Linux系統(tǒng)性能診斷操作系統(tǒng)性能調(diào)優(yōu)Linux系統(tǒng)性能診斷影響性能因素評判標(biāo)準(zhǔn)好壞糟糕CPUuser%+sys%<70%user%+sys%=85%user%+sys%>=90%內(nèi)存S(si)=0S(so)=0PerCPUwith10page/sMoreS&S磁盤iowait%<20%iowait%=35%iowait%>=50%CPU對于每一個CPU來說運(yùn)行隊列不要超過3,例如,如果是雙核CPU就不要超過6;如果CPU在滿負(fù)荷運(yùn)行,應(yīng)該符合下列分布,

a)UserTime:65%~70%

b)SystemTime:30%~35%

c)Idle:0%~5%對于上下文切換要結(jié)合CPU使用率來看,如果CPU使用滿足上述分布,大量的上下文切換也是可以接受的。內(nèi)存(-/+buffers/cache)的free和usedSwap(si、so)內(nèi)存分析案例上面是一個頻繁讀寫交換區(qū)的例子,可以觀察到以下幾點(diǎn):物理可用內(nèi)存free基本沒什么顯著變化,swapd逐步增加當(dāng)臟頁達(dá)到10%的時候就開始大量使用swap,free目前的值約等于256MB*10%=2.56MBbuff穩(wěn)步減少說明系統(tǒng)知道內(nèi)存不夠了,kwapd正在從buff那里借用部分內(nèi)存kswapd持續(xù)把臟頁面寫到swap交換區(qū)(so),從swapd逐漸增加看出確實如此IO同一時間進(jìn)行大量的I/O操作在這種情況時我們會發(fā)現(xiàn)CPU的wa時間百分比會上升,證明系統(tǒng)的idle時間大部分都是在等待I/O操作。從這個輸出我們可以看到CPU有50%的時間都在等待I/O操作,我們還可以看到系統(tǒng)的bi值很大,證明系統(tǒng)有大量的I/O請求將磁盤內(nèi)容讀入內(nèi)存。IO將top的輸出通過faults進(jìn)行排序。我們可以看到vmware產(chǎn)生最多的pagefaults。也就是說它進(jìn)行了大量的IO操作。IO任何I/O操作都需要一定的時間,而且這些時間對于硬盤來說是確定的,它包含磁盤旋轉(zhuǎn)的延時RD(rotationdelay)和磁頭搜索時間DS(diskseek)。RD由磁盤轉(zhuǎn)速(RPM)決定。RD是磁盤旋轉(zhuǎn)一周所需時間的一半。如RPM為10000(1分鐘轉(zhuǎn)1萬次).

RPS=RPM/60=166(1秒轉(zhuǎn)166次)。1/166=0.0006=6ms(磁盤旋轉(zhuǎn)一周要6毫秒)。RD=6ms/2=3ms磁盤平均搜索時間是3ms,數(shù)據(jù)傳輸?shù)钠骄訒r是2ms,這樣一次I/O操作的平均時間是:3ms+3ms+2ms=8msIOPS=1000/8=125這塊磁盤的每秒IO數(shù)(IOPS)為125。所以對于10000RPM的磁盤來說它所能承受的IO操作在IOPS在120~150之間。如果系統(tǒng)的I/O請求超過這個值,就會使磁盤成為系統(tǒng)的瓶頸。連續(xù)I/Ovs.隨機(jī)I/O連續(xù)I/O常常出現(xiàn)在企業(yè)級數(shù)據(jù)庫這樣的應(yīng)用中,需要連續(xù)的讀取大量數(shù)據(jù)。這種系統(tǒng)的性能依靠它讀取和移動數(shù)據(jù)的大小和快慢。我們用iostat來監(jiān)控,會發(fā)現(xiàn)rKB/s和wKB/s會很高。Device:rrqm/swrqm/s

r/s

w/s

rsec/swsec/s

rkB/swkB/s

avgrq-szavgqu-szawait

svctm%util/dev/sda0.0012891.430.00105.710.00

106080.000.0053040.001003.461099.433442.4326.49280.00從輸出我們看到w/s=105,wKB/s=53040.所以53040/105=505KBperI/O.連續(xù)I/Ovs.隨機(jī)I/O對于隨機(jī)I/O的系統(tǒng)來說性能的關(guān)注點(diǎn)不在搜傳輸數(shù)據(jù)的大小和速度,而是在磁盤的IOPS。這類系統(tǒng)的I/O請求比較小但是數(shù)量很大,如Web服務(wù)器和Mail服務(wù)器。他們的性能主要依賴每秒鐘可處理的請求數(shù):Device:rrqm/swrqm/s

r/s

w/s

rsec/swsec/s

rkB/s

wkB/s

avgrq-szavgqu-szawaitsvctm

%util/dev/sda0.00

633.67

3.06102.3124.495281.6312.242640.82288.8973.67

113.89

27.2250.00從輸出我們看到w/s=102,wKB/s=2640.所以2640/102=23KBperI/O.因此對于連續(xù)I/O系統(tǒng)來說我們要關(guān)注系統(tǒng)讀取大量數(shù)據(jù)的能力即KBperrequest.對于隨機(jī)I/O系統(tǒng)我們注重IOPS值.操作系統(tǒng)性能調(diào)優(yōu)系統(tǒng)安裝優(yōu)化RAIDSWAP分區(qū)系統(tǒng)安裝后的初步調(diào)整優(yōu)化檢查系統(tǒng)是否正常關(guān)閉不需要的服務(wù)對TCP/IP網(wǎng)絡(luò)參數(shù)進(jìn)行調(diào)整內(nèi)核參數(shù)優(yōu)化針對Web服務(wù)器的網(wǎng)絡(luò)參數(shù)優(yōu)化針對數(shù)據(jù)庫服務(wù)器的內(nèi)核參數(shù)優(yōu)化IHS服務(wù)器配置優(yōu)化MPM對Apache性能的影響影響性能的配置并發(fā)線程相關(guān)的設(shè)置日志對性能的影響壓縮mod_cache中間件性能分析與優(yōu)化IHS優(yōu)化WAS

Session優(yōu)化內(nèi)存中最大會話量Session超時WAS線程池優(yōu)化WAS

JDBC連接池優(yōu)化連接超時最大連接數(shù)最小連接數(shù)JVM性能分析與優(yōu)化應(yīng)用層攻擊數(shù)據(jù)庫服務(wù)器JDBC數(shù)據(jù)庫連接典型問題分析某電網(wǎng)公司企業(yè)網(wǎng)站標(biāo)準(zhǔn)化系統(tǒng)在100個并發(fā)用戶壓力下進(jìn)行內(nèi)網(wǎng)網(wǎng)站首頁訪問登錄操作,發(fā)現(xiàn)該系統(tǒng)的應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器連接異常,大量出現(xiàn)錯誤,測試軟件報錯信息如下:通過對分析,發(fā)現(xiàn)部分連接參數(shù)設(shè)置太小,對連接參數(shù)進(jìn)行調(diào)整后,測試組對系統(tǒng)進(jìn)行了再次測試,基本不存在連接失敗的情況。應(yīng)用層攻擊某電網(wǎng)公司人力資源系統(tǒng)員工名冊查詢無法做壓力測試,響應(yīng)超時的問題,主要是請求的sql太長了com.sophia.hr.modules.employee.external.impl.EmployeeServiceImpl.java類修改了方法empListSQL4Info方法再次測試,響應(yīng)時間明顯改善。JDBC數(shù)據(jù)庫連接典型問題分析應(yīng)用層攻擊某電商網(wǎng)站JDBC數(shù)據(jù)庫連接典型問題分析Causedby:java.sql.SQLException:Wearealreadyintheprocessofmaking11connectionsandthenumberofsimultaneousbuildshasbeenthrottledto10JVM性能分析JVM垃圾回收對性能的影響吞吐量、GC停頓JVM內(nèi)存泄漏診斷線程問題診斷JVM堆大小對垃圾回收、系統(tǒng)吞吐量的影響GC策略對系統(tǒng)性能的影響JVM的堆JVM年輕代與年老代MinorGC的過程FullGCFull

GC對性能的影響jstat-gcpid可以顯示gc的信息,查看gc的次數(shù),及時間。其中最后五項,分別是younggc的次數(shù),younggc的時間,fullgc的次數(shù),fullgc的時間,gc的總時間。GC日志人肉分析WASGC日志分析工具用PMAT分析GC日志java-Xmx512m-jarga414.jarGCViewerWASGC日志分析案例WASGC日志分析案例可以看到FullGC非常多,占所有pause時間比達(dá)到65.9%,這是有問題的,GC應(yīng)該盡可能在年輕代完成,而不是到年老代JVM堆大小對垃圾回收、系統(tǒng)吞吐量的影響案例-PlantsByWebSphereJConsole遠(yuǎn)程監(jiān)控WASJProfiler查看GC

Activity(垃圾回收器的活動占用整體時間的百分比)案例某電網(wǎng)公司可靠性系統(tǒng)JVM內(nèi)存不足、頻繁GC、服務(wù)器CPU忙JVM參數(shù)調(diào)整與優(yōu)化JVM堆參數(shù)設(shè)置GC參數(shù)設(shè)置GC策略對系統(tǒng)性能的影響新生代串行收集器老年代串行收集器并行收集器新生代并行回收收集器老年代并行回收收集器CMS(ConcurrentMarkSweep)收集器-Xgcpolicy:optthruput-Xgcpolicy:optavgpause-Xgcpolicy:gencon-Xgcpolicy:balanced案例–PlantsByWebSphereJava代碼性能問題診斷分析與優(yōu)化Java代碼性能分析JSP\Servlet性能分析與優(yōu)化JDBC性能分析與優(yōu)化JProfiler等性能分析工具的應(yīng)用Java代碼性能分析代碼執(zhí)行效率CPU使用內(nèi)存使用IO使用線程\鎖JAVA代碼執(zhí)行效率監(jiān)控分析JAVACPU使用監(jiān)控分析查看java進(jìn)程:

jps確認(rèn)java進(jìn)程CPU性能:

pidstat-p<PID>-u13進(jìn)一步查看線程CPU性能,定位到CPU高消耗的線程ID:

pidstat-p<PID>13-u-t根據(jù)定位到的線程ID,使用jstack導(dǎo)出線程堆棧進(jìn)行驗證:

jstack-l<PID>>/tmp/t.txt在導(dǎo)出的線程堆棧中查找引起高CPU消耗的線程ID(nid),需要從十六進(jìn)制轉(zhuǎn)換為10進(jìn)制,從而定位到哪個線程的Java代碼執(zhí)行導(dǎo)致占用大量CPUJAVA內(nèi)存使用監(jiān)控分析JProfiler性能分析工具的應(yīng)用案例演練-Java內(nèi)存泄漏檢測TestMemJAVAI/O使用監(jiān)控分析iostat-dx3jpspidstat-p<PID>-d-t13jstack-l<PID>>/tmp/t.txtJava線程\鎖監(jiān)控分析Jstack監(jiān)控JAVA線程死鎖jpsjstack-l<PID>>1.txt查找輸出結(jié)果定位死鎖WAS線程DumpLinux下命令行啟動WAS,

Kill

-3

<PID>/opt/IBM/WebSphere/AppServer/proIdle線程:一個已經(jīng)準(zhǔn)備好接受請求的線程,但是沒有和插件或者客戶端建立連接

Keep-Alive線程:是一個已經(jīng)準(zhǔn)備好接受請求的線程,并且已經(jīng)和插件或者客戶端建立連接

正在接受請求的線程:是一個線程正在讀取request的

溫馨提示

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

評論

0/150

提交評論