




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
一概念理解1.性能測試目的?答:驗證軟件系統(tǒng)是否能夠達到用戶提出的性能指標。性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。1)評估系統(tǒng)的能力測試中得到的負荷和響應(yīng)時間數(shù)據(jù)可被用于驗證所計劃的模型的能力,并幫助作出決策。2)識別體系中的弱點受控的負荷被增加到一個極端水平,并突破它,從而修復(fù)體系的瓶頸或薄弱的地方。3)系統(tǒng)調(diào)優(yōu)重復(fù)運行測試,驗證調(diào)整系統(tǒng)的活動得到了預(yù)期的結(jié)果,從而改進性能。檢測軟件中的問題,長時間的測試執(zhí)行可導(dǎo)致程序發(fā)生由于內(nèi)存泄漏引起的失敗,揭示程序中的隱含問題或沖突。4)驗證穩(wěn)定性,可靠性在一個生產(chǎn)負荷下執(zhí)行測試一定的時間是評估系統(tǒng)穩(wěn)定性和可靠性是否滿足要求的唯一方法。2.系統(tǒng)實際用戶數(shù),系統(tǒng)在線用戶數(shù)含義?用戶數(shù):是指計費系統(tǒng)所能允許記錄的不同名稱用戶數(shù)量的最大值。這個數(shù)值取決于計費系統(tǒng)硬件存儲器容量和軟件的支持能力系統(tǒng)實際用戶數(shù):系統(tǒng)額定的用戶數(shù)量,如一個OA系統(tǒng),可能使用該系統(tǒng)的用戶總數(shù)是2000個,那么這個數(shù)量,就是系統(tǒng)用戶數(shù)系統(tǒng)在線:在一定的時間范圍內(nèi),同時在線用戶數(shù)量3.并發(fā)概念?答:并發(fā)是同時執(zhí)行一個操作(同時像服務(wù)器提交申請)。主要指當(dāng)測試多個用戶并同時訪問同一個應(yīng)用程序、同一個模塊數(shù)據(jù)記錄時是否存在死鎖或其他性能問題,幾乎所有的性能測試都會涉及并發(fā)測試。4.理解負載測試,壓力測試,容量測試,配置測試,基準測試,并發(fā)測試,疲勞測試的含義和區(qū)別答:負載測試(Loadtesting),負載測試是模擬實際軟件系統(tǒng)所承受的負載條件的系統(tǒng)負荷,通過不斷加載(如逐漸增加模擬用戶的數(shù)量)或其它加載方式來觀察不同負載下系統(tǒng)的響應(yīng)時間和數(shù)據(jù)吞吐量、系統(tǒng)占用的資源(如CPU、內(nèi)存)等,以檢驗系統(tǒng)的行為和特性,以發(fā)現(xiàn)系統(tǒng)可能存在的性能瓶頸、內(nèi)存泄漏、不能實時同步等問題。直接添加用戶數(shù)雙擊Down-點擊AddVuser(s)-點擊Quantitytoadd輸入框輸入要添加的用戶數(shù),在原基礎(chǔ)上添加用戶。壓力測試:壓力測試是在強負載(大數(shù)據(jù)量、大量并發(fā)用戶等)下的測試,查看應(yīng)用系統(tǒng)在峰值使用情況下操作行為,從而有效地發(fā)現(xiàn)系統(tǒng)的某項功能隱患、系統(tǒng)是否具有良好的容錯能力和可恢復(fù)能力。(壓力測試就是不斷的向服務(wù)器增加用戶數(shù),直到服務(wù)器返回響應(yīng)時間過長。)Initialize5Vusersevery00:00:15(HH:MM:SS)(初始化每5個Vuser00:00:15(HH:MM:SS)),StartVusersStart7Vusers:2every00:00:15(HH:MM:SS)(開始Vuser的啟動7個用戶:每15秒增加2個用戶DurationRunfor00:05:00(程序運行時間00:05:00)StopVusersStopallVuserssimultaneously(停止Vuser的Vuser的同時停止所有)容量測試(界限或極限值):通過測試預(yù)先分析出反映軟件系統(tǒng)應(yīng)用特征的某項指標的極限值(如最大并發(fā)用戶數(shù)、數(shù)據(jù)庫記錄數(shù)等),系統(tǒng)在其極限值狀態(tài)下沒有出現(xiàn)任何軟件故障或還能保持主要功能正常運行。容量測試還將確定測試對象在給定時間內(nèi)能夠持續(xù)處理的最大負載(負載和或壓力)的來的,和工作量。配置測試:就是查看配置項的內(nèi)容是不是符合標準,也就是說是不是配置項起到了先前所預(yù)期的功能。個人計算機;部件;外設(shè);接口;可選項和內(nèi)存;設(shè)備驅(qū)動程序?;鶞蕼y試:是指通過設(shè)計科學(xué)的測試方法、測試工具和測試系統(tǒng),實現(xiàn)對一類測試對象的某項性能指標進行定量的和可對比的測試。并發(fā)測試:主要指當(dāng)測試多個用戶并同時訪問同一個應(yīng)用程序、同一個模塊數(shù)據(jù)記錄時是否存在死鎖或其他性能問題,幾乎所有的性能測試都會涉及并發(fā)測試。疲勞測試:通常是采用系統(tǒng)穩(wěn)定運行情況下能夠支持的最大并發(fā)用戶數(shù)或者日常運行用戶數(shù),持續(xù)執(zhí)行一段時間業(yè)務(wù),通過綜合分析交易執(zhí)行指標和資源監(jiān)控指標來確定系統(tǒng)處理最大工作量強度性能的過程(內(nèi)存溢出)場景結(jié)束,沒有釋放內(nèi)存(前提要清理內(nèi)存)??偨Y(jié)壓力測試可以看作是容量測試,不是直接的測試目標。壓力測試的重點在于發(fā)現(xiàn)功能性測試所不易發(fā)現(xiàn)的系統(tǒng)方面的缺陷。而容量測試是系統(tǒng)測試的主要目標內(nèi)容,也就是確定軟件產(chǎn)品或系統(tǒng)的非功能性方面的質(zhì)量特征,包括具體的特征值。容量測試更著力于提供性能與容量方面的數(shù)據(jù),為軟件系統(tǒng)部署、維護、質(zhì)量改進服務(wù),并可以幫助市場定位、銷售人員對客戶的解釋、廣告宣傳等服務(wù)。壓力測試、容量測試,測試的方法相似、相通,在實際測試工作中,往往結(jié)合起來進行,以提高測試效率。一般會設(shè)置專門的性能測試實驗室,完成這些工作。即使用虛擬的手段模擬實際操作,所需要的客戶端有時還是很大的,所以性能測試實驗室的投資較大。(并發(fā)測試(獲得最佳用戶數(shù)和最大用戶數(shù))是為疲勞測試做準備)5.性能測試指標包括哪些,每項的含義是什么?答:I/O(vmstat、iostat)、CPU(top)、內(nèi)存(sar)、事務(wù)通過數(shù)、事務(wù)的響應(yīng)時間(ART)、交易成功率、事務(wù)點擊數(shù)、用戶數(shù))6.怎么理解響應(yīng)時間是從什么時候開始什么時候結(jié)束?答:(是通過記錄用戶請求的開始時間和服務(wù)器返回內(nèi)容到客戶時間的差值來計算用戶操作響應(yīng)時間)響應(yīng)時間是提交請求和返回該請求的響應(yīng)之間使用的時間。7.每秒處理請求數(shù),響應(yīng)時間,點擊率的縮寫?答:事務(wù)的請求數(shù)(TPS),平均響應(yīng)時間(ART),點擊率(HPS)8.什么是事務(wù)?答:事務(wù)是指用戶在客戶端做一種或多種業(yè)務(wù)的操作集,通過事務(wù)函數(shù)可以標記完成該業(yè)務(wù)所需要的操作內(nèi)容(響應(yīng)時間等)就是把多件事情當(dāng)做一件事情來處理叫做事物.9.什么是性能調(diào)優(yōu),什么情況下需要調(diào)優(yōu)?答:通過指標的監(jiān)控發(fā)現(xiàn)系統(tǒng)存在的性能缺陷,利用分析工具定位并修正性能問題。系統(tǒng)響應(yīng)速度太慢。每秒所完成的系統(tǒng)輸出/入低于預(yù)期。相同的環(huán)境,但每秒鐘所完成的批操作較先前少。系統(tǒng)資源(如CPU、內(nèi)存、硬盤或網(wǎng)絡(luò)等)長時間處于耗盡的狀態(tài)。(環(huán)境、基準負載、性能指標響應(yīng)時間多少S)10.性能測試通用流程?答:性能測試需求(性能指標)環(huán)境搭建(模擬現(xiàn)實環(huán)境)數(shù)據(jù)、工具選擇(性能性能方案計劃文檔場景設(shè)計腳本設(shè)計測試執(zhí)行結(jié)果分析(page/sec內(nèi)存),CPU(top),內(nèi)存(sar),I/O(iostat)調(diào)優(yōu)方案(代碼級調(diào)優(yōu),數(shù)據(jù)庫調(diào)優(yōu),架構(gòu)調(diào)優(yōu))性能測試報告在本公司寫好的腳本,到現(xiàn)場要改腳本的地方是(1.腳本請求的地址,證書(握手證書和加密證書)象EWP人員要)11.怎么理解協(xié)議,http是指什么協(xié)議?答:協(xié)議:計算機通信網(wǎng)絡(luò)中兩臺計算機之間進行通信所必須共同遵守的規(guī)定或規(guī)則。httP:超文本傳送協(xié)議(HTTP)是一種通信協(xié)議,它允許將超文本標記語言(HTML)文檔從Web服務(wù)器傳送到Web瀏覽器。(雙方共用的協(xié)議)12.分析簡單http請求和http應(yīng)答的報文體?答:http請求是從客戶端到服務(wù)器端的請求消息包括,消息首行中,對資源的請求方法、資源的標識符及使用的協(xié)議。http應(yīng)答的報文體是xml格式的utf-8編碼的字節(jié)流報文具體的內(nèi)容包含在某個標簽內(nèi)web_custom_request("EMP_HandShake","Method=POST","URL=http://{HostAdress}/user/handshake?ota_version=AD-UMP-1.1.1-000000&app={AppName}&o=i","RecContentType=application/octet-stream","Body={ClientHelloBody}",LAST);協(xié)議:通行雙方共同約定的規(guī)則。http協(xié)議(超文本傳輸協(xié)議):HTTP是一個屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。HTTP協(xié)議的主要特點可概括如下:1.支持客戶/服務(wù)器模式。2.簡單快速:客戶向服務(wù)器請求服務(wù)時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規(guī)定了客戶與服務(wù)器聯(lián)系的類型不同。由于HTTP協(xié)議簡單,使得HTTP服務(wù)器的程序規(guī)模小,因而通信速度很快。3.靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象。正在傳輸?shù)念愋陀蒀ontent-Type加以標記。4.無連接:無連接的含義是限制每次連接只處理一個請求。服務(wù)器處理完客戶的請求,并收到客戶的應(yīng)答后,即斷開連接。采用這種方式可以節(jié)省傳輸時間。5.無狀態(tài):HTTP協(xié)議是無狀態(tài)協(xié)議。無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面,在服務(wù)器不需要先前信息時它的應(yīng)答就較快。HTTP報文結(jié)構(gòu):http請求報文體:方法-URL-協(xié)議/版本、請求頭、請求正文http應(yīng)答報文體:協(xié)議-狀態(tài)代碼-描述、應(yīng)答頭、應(yīng)答正文HTTP請求流程:建立連接(客戶端與服務(wù)器建立TCP連接)發(fā)送請求:(打開一個連接后,客戶端把請求信息發(fā)送到服務(wù)器的相應(yīng)端口上,完成請求動作提交)發(fā)送響應(yīng):(服務(wù)器在處理完客戶端請求之后,要向客戶端發(fā)送響應(yīng)消息)關(guān)閉連接:(客戶端和服務(wù)器端都可以關(guān)閉套接字來結(jié)束TCP/IP對話)請求方法(所有方法全為大寫)有多種,各個方法的解釋如下:GET請求獲取Request-URI所標識的資源POST在Request-URI所標識的資源后附加新的數(shù)據(jù)HEAD請求獲取由Request-URI所標識的資源的響應(yīng)消息報頭PUT請求服務(wù)器存儲一個資源,并用Request-URI作為其標識DELETE請求服務(wù)器刪除Request-URI所標識的資源TRACE請求服務(wù)器回送收到的請求信息,主要用于測試或診斷CONNECT保留將來使用OPTIONS請求查詢服務(wù)器的性能,或者查詢與資源相關(guān)的選項和需求GET和POST請求的區(qū)別(1)在客戶端,Get方式在通過URL提交數(shù)據(jù),數(shù)據(jù)在URL中可以看到;POST方式,數(shù)據(jù)放置在HTMLHEADER內(nèi)提交。(2)GET方式提交的數(shù)據(jù)最多只能有1024字節(jié),而POST則沒有此限制。(3)安全性問題。正如在(1)中提到,使用Get的時候,參數(shù)會顯示在地址欄上,而Post不會。所以,如果這些數(shù)據(jù)是中文數(shù)據(jù)而且是非敏感數(shù)據(jù),那么使用get;如果用戶輸入的數(shù)據(jù)不是中文字符而且包含敏感數(shù)據(jù),那么還是使用post為好。(4)安全的和冪等的。所謂安全的意味著該操作用于獲取信息而非修改信息。冪等的意味著對同一URL的多個請求應(yīng)該返回同樣的結(jié)果。HTTP的狀態(tài)響應(yīng)碼100——客戶必須繼續(xù)發(fā)出請求101——客戶要求服務(wù)器根據(jù)請求轉(zhuǎn)換HTTP協(xié)議版本200——交易成功201——提示知道新文件的URL202——接受和處理、但處理未完成203——返回信息不確定或不完整204——請求收到,但返回信息為空205——服務(wù)器完成了請求,用戶代理必須復(fù)位當(dāng)前已經(jīng)瀏覽過的文件206——服務(wù)器已經(jīng)完成了部分用戶的GET請求300——請求的資源可在多處得到301——刪除請求數(shù)據(jù)302——在其他地址發(fā)現(xiàn)了請求數(shù)據(jù)303——建議客戶訪問其他URL或訪問方式304——客戶端已經(jīng)執(zhí)行了GET,但文件未變化305——請求的資源必須從服務(wù)器指定的地址得到306——前一版本HTTP中使用的代碼,現(xiàn)行版本中不再使用307——申明請求的資源臨時性刪除400——錯誤請求,如語法錯誤401——未授權(quán)HTTP401.1-未授權(quán):登錄失敗HTTP401.2-未授權(quán):服務(wù)器配置問題導(dǎo)致登錄失敗HTTP401.3-ACL禁止訪問資源HTTP401.4-未授權(quán):授權(quán)被篩選器拒絕HTTP401.5-未授權(quán):ISAPI或CGI授權(quán)失敗402——保留有效ChargeTo頭響應(yīng)403——禁止訪問HTTP403.1禁止訪問:禁止可執(zhí)行訪問HTTP403.2-禁止訪問:禁止讀訪問HTTP403.3-禁止訪問:禁止寫訪問HTTP403.4-禁止訪問:要求SSLHTTP403.5-禁止訪問:要求SSL128HTTP403.6-禁止訪問:IP地址被拒絕HTTP403.7-禁止訪問:要求客戶證書HTTP403.8-禁止訪問:禁止站點訪問HTTP403.9-禁止訪問:連接的用戶過多HTTP403.10-禁止訪問:配置無效HTTP403.11-禁止訪問:密碼更改HTTP403.12-禁止訪問:映射器拒絕訪問HTTP403.13-禁止訪問:客戶證書已被吊銷HTTP403.15-禁止訪問:客戶訪問許可過多HTTP403.16-禁止訪問:客戶證書不可信或者無效HTTP403.17-禁止訪問:客戶證書已經(jīng)到期或者尚未生效404——沒有發(fā)現(xiàn)文件、查詢或URl405——用戶在Request-Line字段定義的方法不允許406——根據(jù)用戶發(fā)送的Accept拖,請求資源不可訪問407——類似401,用戶必須首先在代理服務(wù)器上得到授權(quán)408——客戶端沒有在用戶指定的餓時間內(nèi)完成請求409——對當(dāng)前資源狀態(tài),請求不能完成410——服務(wù)器上不再有此資源且無進一步的參考地址411——服務(wù)器拒絕用戶定義的Content-Length屬性請求412——一個或多個請求頭字段在當(dāng)前請求中錯誤413——請求的資源大于服務(wù)器允許的大小414——請求的資源URL長于服務(wù)器允許的長度415——請求資源不支持請求項目格式416——請求中包含Range請求頭字段,在當(dāng)前請求資源范圍內(nèi)沒有range指示值,請求也不包含If-Range請求頭字段417——服務(wù)器不滿足請求Expect頭字段指定的期望值,如果是代理服務(wù)器,可能是下一級服務(wù)器不能滿足請求長。HTTP500-內(nèi)部服務(wù)器錯誤HTTP500.100-內(nèi)部服務(wù)器錯誤-ASP錯誤HTTP500-11服務(wù)器關(guān)閉HTTP500-12應(yīng)用程序重新啟動HTTP500-13-服務(wù)器太忙HTTP500-14-應(yīng)用程序無效HTTP500-15-不允許請求global.asaError501-未實現(xiàn)HTTP502-網(wǎng)關(guān)錯誤HTTP協(xié)議之長連接與短連接分類:網(wǎng)絡(luò)知識2011-03-1520:41638人閱讀評論(0)\o"收藏"收藏\o"舉報"舉報
HTTP協(xié)議之長、短連接一、長連接與短連接:長連接:client方與server方先建立連接,連接建立后不斷開,然后再進行報文發(fā)送和接收。這種方式下由于通訊連接一直存在。此種方式常用于P2P通信。短連接:Client方與server每進行一次報文收發(fā)交易時才進行通訊連接,交易完畢后立即斷開連接。此方式常用于一點對多點通訊。C/S通信。二、長連接與短連接的操作過程:短連接的操作步驟是:建立連接——數(shù)據(jù)傳輸——關(guān)閉連接...建立連接——數(shù)據(jù)傳輸——關(guān)閉連接長連接的操作步驟是:建立連接——數(shù)據(jù)傳輸...(保持連接)...數(shù)據(jù)傳輸——關(guān)閉連接三、長連接與短連接的使用時機:長連接:短連接多用于操作頻繁,點對點的通訊,而且連接數(shù)不能太多的情況。每個TCP連接的建立都需要三次握手,每個TCP連接的斷開要四次握手。如果每次操作都要建立連接然后再操作的話處理速度會降低,所以每次操作后,下次操作時直接發(fā)送數(shù)據(jù)就可以了,不用再建立TCP連接。例如:數(shù)據(jù)庫的連接用長連接,如果用短連接頻繁的通信會造成socket錯誤,頻繁的socket創(chuàng)建也是對資源的浪費。短連接:web網(wǎng)站的http服務(wù)一般都用短連接。因為長連接對于服務(wù)器來說要耗費一定的資源。像web網(wǎng)站這么頻繁的成千上萬甚至上億客戶端的連接用短連接更省一些資源。試想如果都用長連接,而且同時用成千上萬的用戶,每個用戶都占有一個連接的話,可想而知服務(wù)器的壓力有多大。所以并發(fā)量大,但是每個用戶又不需頻繁操作的情況下需要短連接??傊洪L連接和短連接的選擇要根據(jù)需求而定。LoadRunner中web_custom_request和web_submit_data的差別web_custom_request方法可以發(fā)送POST和GET類型的請求(只能看到請求獲得的數(shù)據(jù)顯示出來)不能顯示web_submit_data只能發(fā)送POST類型的請求(加密的數(shù)據(jù)也能顯示出來)所有web_submit_data方法發(fā)送的請求都可以使用web_custom_request來實現(xiàn)web_custom_request可以實現(xiàn)web_submit_data無法實現(xiàn)的請求,比如“查詢所有郵件并刪除”這個案例中,查詢時我們使用關(guān)聯(lián)把所有郵件對應(yīng)的標識抓取成一個數(shù)組,如果使用web_submit_data來完成這個刪除的請求,需要很多個web_submit_data請求才能完成,但使用web_custom_request就可以通過一個請求完成,方法是自己寫代碼拼一個web_custom_request
方法POST請求的Body值。13.什么是關(guān)聯(lián),關(guān)聯(lián)怎么應(yīng)用?答:關(guān)聯(lián)是指將客戶端的數(shù)據(jù)與服務(wù)器端的數(shù)據(jù)建立聯(lián)系,以獲取服務(wù)器端返回的動態(tài)數(shù)據(jù)。web_reg_save_param_ex("ParamName=session","LB=<inputtype=hiddenname=userSessionvalue=","RB=>",SEARCH_FILTERS,"Scope=Body","RequestUrl=:1080/WebTours/nav.pl?in=home",LAST);14.添加事務(wù)的目的是什么?答:lr_start_transaction(”事務(wù)名稱”),lr_end_transaction("事務(wù)名稱",LR_AUTO);(通過事務(wù)監(jiān)控響應(yīng)時間,需要做的就是在請求的發(fā)出前添加事務(wù)開始的計數(shù)器,在請求結(jié)束的地方添加一個事務(wù)的結(jié)束計數(shù)器,VuGen會自動計算函數(shù)間的時間差。)系統(tǒng)操作的響應(yīng)時間,驗證某個功能承受壓力的能力,事物來界定該功能在程序中的位置。15.事務(wù)結(jié)果的狀態(tài)有哪些,手工設(shè)置事務(wù)結(jié)果和自動返回事務(wù)結(jié)果是怎么設(shè)置,自動返回事務(wù)結(jié)果什么時候是正確的什么時候是錯誤的?答:事務(wù)開始lr_start_transaction(“事務(wù)名”);lr_end_transaction("事務(wù)名稱",LR_AUTO);自動添加事務(wù)點擊InsertStartTransaction(Ctrl+T)和InsertEndTransaction(Ctrl+D)來添加事務(wù)。LR_AUTO:事物的狀態(tài)被自動設(shè)置,如果事務(wù)執(zhí)行成功,狀態(tài)設(shè)置為PASS,如果執(zhí)行失敗,狀態(tài)設(shè)置為FAIL,如果由于異常中斷,狀態(tài)被設(shè)置成STOP.LR_PASS:事務(wù)如果執(zhí)行成功,代碼的返回狀態(tài)就是PASS。LR_FAIL:事務(wù)如果執(zhí)行失敗,代碼的返回狀態(tài)就是FAIL。運行自動事務(wù)時,怎么變成手動設(shè)置事務(wù)函數(shù)lr_set_transaction_status();事務(wù)結(jié)束之前。16.參數(shù)化的目的是什么?答:在腳本中,如果不使用參數(shù),那么所有的測試數(shù)據(jù)是跟腳本綁定在一起的,如果需要測試不同的數(shù)據(jù),需要運行一次,改一下,再運行。如果使用了參數(shù)化,可以把多個測試數(shù)據(jù)保存起來,測試時腳本自動選擇測試數(shù)據(jù)運行。是向服務(wù)器批量提交符合業(yè)務(wù)邏輯的數(shù)據(jù)。17.手動關(guān)聯(lián)和自動關(guān)聯(lián)區(qū)別,分別都怎么做?答:關(guān)聯(lián)是指將客戶端的數(shù)據(jù)與服務(wù)器端的數(shù)據(jù)建立聯(lián)系,以獲取服務(wù)器端返回的動態(tài)數(shù)據(jù)(自動關(guān)聯(lián)是我們?yōu)殛P(guān)聯(lián)設(shè)置規(guī)則,可以是具體的應(yīng)用程序服務(wù),這里的數(shù)據(jù)由所創(chuàng)建的規(guī)則替代。在手工關(guān)聯(lián)中,我們想要關(guān)聯(lián)的數(shù)值被掃描并且編寫關(guān)聯(lián)函數(shù)完成關(guān)聯(lián)。VuGen內(nèi)建自動關(guān)聯(lián)引擎(auto-correlationengine),可以自動找出需要關(guān)聯(lián)的值,并可以利用關(guān)聯(lián)函數(shù)自動建立關(guān)聯(lián)。手動關(guān)聯(lián)需要自行查找關(guān)聯(lián)的對象,然后自行插入關(guān)聯(lián)函數(shù)。)1.自動關(guān)聯(lián)的方法是,你在tools-recordingoptions的correlation中,不選中enablecorrelationduringrecording的復(fù)選框的情況下進行自動關(guān)聯(lián),你可以先錄制一個腳本,然后選擇vuser-scanactionforcorrelation或者直接ctrl+f8來運行一下腳本,這樣也能自動找到不同的地方而進行自動關(guān)聯(lián),此時你只需要鉤選你需要關(guān)聯(lián)的地方后點擊關(guān)聯(lián)即可。2.手工關(guān)聯(lián),需要錄制2個相同業(yè)務(wù)流程的虛擬用戶腳本,然后通過tools-comparewithvusers來打開wdiff.exe對2個腳本進行比較,找到需要關(guān)聯(lián)的部分,然后指定左右邊界,然后將腳本中原來的值替換成參數(shù)即可.18.怎么理解檢查點的作用?答:在進行Web應(yīng)用的壓力測試時,經(jīng)常會有頁面間數(shù)據(jù)傳遞的操作,如果做性能測試時傳遞次數(shù)逐漸增多,頁面間就會發(fā)生傳遞混亂的情況,或者客戶端與服務(wù)端數(shù)據(jù)傳輸中斷或不正確的現(xiàn)象。為了解決這些問題,LoadRunner提供了在腳本中插入檢查點的方法,就是檢查Web服務(wù)器返回的網(wǎng)頁是否正確。在每次腳本運行到此檢查點時,自動檢查該處的網(wǎng)頁是否正確,省去執(zhí)行結(jié)束后人工檢查的步驟和時間,進而加快了測試進度。19.什么時候需要使用集合點,作用是什么?答:如果想讓多個vuser同時進行某操作,那就要創(chuàng)建集合點了;集合點是為了衡量在加重負載的情況下服務(wù)器的性能情況lr_rendezvous("集合點名稱");集合點函數(shù)可以幫助我們生成有效可控的并發(fā)操作。集合點設(shè)置的策略有三種:1種所有用戶達到100%的加載的虛擬用戶后才釋放;2種是當(dāng)?shù)竭_集合點的用戶是正在運行用戶的100%時集合點釋放;3種是到達多少用戶釋放,剩下的那個是超時時間。20.cookies和session的含義和區(qū)別?答:用session,和cookie同時保存用戶的信息,Session數(shù)據(jù)存于服務(wù)器,Cookie數(shù)據(jù)存于用戶機器(1.session中保存的是對象,cookie中保存的是字符串。2.session默認需要借助cookie才能正常工作)cookie的內(nèi)容主要包括:名字,值,過期時間,路徑和域。路徑與域一起構(gòu)成cookie的作用范圍,服務(wù)器通過在HTTP的響應(yīng)頭中加上一行特殊的指示以提示瀏覽器按照指示生成相應(yīng)的cookie。21.思考時間是什么?答:思考時間lr_think_time();就是一個事務(wù)要開始時思考的時間;(加入思考時間可以更真實的模擬系統(tǒng)的真實情況,壓力也不一樣)22.動態(tài)鏈接庫,頭文件基本概念?答:動態(tài)鏈接庫(DynamicLinkLibrary,縮寫為DLL)是一個可以被其它應(yīng)用程序共享的程序模塊,其中封裝了一些可以被共享的例程和資源。動態(tài)鏈接庫文件的擴展名一般是dll,頭文件被大量使用的文件。#include<>1頭文件開頭處的版權(quán)和版本聲明;(2)預(yù)處理塊;(3)函數(shù)和類結(jié)構(gòu)聲明等。22.跟客戶怎么說壓力測試和負載測試、并發(fā)測試(壓力測試是找最大用戶數(shù),負載測試是梯度式加壓,并發(fā)測試同時像服務(wù)器發(fā)出請求。)問題:什么是拐點測試?系統(tǒng)性能在某一點變化過大(某一項指標的數(shù)值)二、熟悉工具1.LR做性能測試時通常用到哪幾個工具?答:腳本編寫VuGen場景執(zhí)行Controller性能分析器AnalysisCPU、內(nèi)存監(jiān)控Top/topas、sar,查看日志ssh,putty2.當(dāng)同時設(shè)了迭代次數(shù)和持續(xù)運行時間,哪個設(shè)置生效?答:運行時間設(shè)置”的時間是LR會持續(xù)連續(xù)運行腳本的時間,運行次數(shù)可以在LR中查看?!暗螖?shù)設(shè)置”的次數(shù)就是以腳本為主,設(shè)置了多少次,腳本就會運行多少次;此時運行時間一般設(shè)置為運行完成。如果同時設(shè)置迭代次數(shù)和持續(xù)時間,那么當(dāng)時間結(jié)束后,不管迭代次數(shù)是否已經(jīng)到達設(shè)定值,此虛擬用戶都會結(jié)束。3.怎么通過block塊控制腳本執(zhí)行流程?答:Block是取代Action,block運行的次數(shù),是每個業(yè)務(wù)運行的次數(shù)(業(yè)務(wù)迭代的總次數(shù)=該Block迭代次數(shù)×NumberofIterations)在Run右鍵屬性設(shè)置properties-lterations(比例)在每個業(yè)務(wù)右鍵屬性設(shè)置對應(yīng)要設(shè)置的比例點擊確認即可。4.運行時設(shè)置的每個選項的含義?答:RunLogic(運行邏輯)設(shè)置迭代次數(shù),Pacing設(shè)置迭代運行時間,Log查看日志設(shè)置,ThinkTime(運行時設(shè)置的思考時間),Additionalattributes(附加屬性)添加不是系統(tǒng)本來就有的屬性參數(shù),Miscellaneous(其他的設(shè)置:ErrorHanding錯誤交接(錯誤處理),Multithreading多線程,AutomaticTransactions(選擇自動交易方式)),SpeedSimulation(網(wǎng)速選擇)速度模擬,BrowserEmulation(瀏覽器仿真)模擬瀏覽器的性質(zhì),InternetProtocol(互聯(lián)網(wǎng)協(xié)議)(Proxy代理,Preferences,DownloadFilters(下載過濾器),ContentCheck內(nèi)容檢查)Configuration組態(tài)5.參數(shù)化的多種組合結(jié)果是什么?SequentialSequential-eachiteration如2個用戶分別第一次循環(huán)取第一行值,第二次循環(huán)取第二行值。Sequential-eachoccurrence如2個用戶分別第一次循環(huán)取第一行值,本次循環(huán)中當(dāng)腳本中出現(xiàn)要使用參數(shù)的話,參數(shù)值取第二行值。第二次循環(huán)取取第三行值,本次循環(huán)中當(dāng)腳本中出現(xiàn)要使用參數(shù)的話,參數(shù)值取第四行值,依次類推。Sequential-once所有的用戶在所循環(huán)中,只用同一個值。RandomRandom-eachiteration如2個用戶,在不同的循環(huán)次數(shù)中,各自隨機取值。Random-eachoccurrence如2個用戶,在不同的循環(huán)次數(shù)中,各自隨機取值,當(dāng)每次循環(huán)中每遇到一次參數(shù)名,也各自隨機取值。Random-once如2個不同的用戶,不管循環(huán)多少次,各自只隨機取值一次。uniqueunique-eachiteration如2個用戶,分別在不同的循環(huán)中取不同參數(shù)值。unique-eachoccurrence只能手工分配用戶參數(shù)數(shù)據(jù)值。unique–once按照用戶數(shù)給每個用戶順序分配一個固定參數(shù),以后的循環(huán)這個用戶就使用這個固定的參數(shù)。6.怎么查看每個用戶的運行時日志?答:打開日志后,運行腳本在passed右鍵點擊showVuserlog.或在腳本文件夾\res\log里在場景中查看日志時,要把腳本和場景的日志都要打開,7.腳本運行時設(shè)置和場景運行時設(shè)置的區(qū)別?答:腳本設(shè)置時看腳本是否正確,場景設(shè)置是監(jiān)控查看性能指標。1、thinktime:在VuGen中運行時會忽略,但是在場景中,會按照腳本的lr_think_time()函數(shù)進行運行。2、系統(tǒng)日志設(shè)置會更改為不出現(xiàn)錯誤就不記錄日志3、需要關(guān)閉自動化事務(wù),為了避免多余數(shù)據(jù)影響4、帶寬模擬,需要為用戶設(shè)置一個合理的帶寬來得到更真實的用戶訪問時間5、集合點策略,如果腳本中有集合點,則需要根據(jù)需求對集合點的策略進行設(shè)置8.我們需要重點監(jiān)控哪幾個圖?答:RunningVusers(用戶數(shù)),TransResponseTime(事務(wù)響應(yīng)時間),Throughput(吞吐量),HitsperSecond(每秒點擊數(shù)),查看TPS要用的圖Trans/Sec(Passed)和Trans/Sec(Failed,Stopped),服務(wù)器WebResourceGraphs(HitsperSecond)TPS公式:TPS_1≥70000*80%/(24*20%*3600)=3.2筆/秒(根據(jù)統(tǒng)計數(shù)據(jù),恒豐銀行網(wǎng)銀系統(tǒng)當(dāng)前生產(chǎn)環(huán)境高峰日交易總量為7萬筆。根據(jù)二八原則(80%的交易量發(fā)生在20%的時間段內(nèi)),當(dāng)前生產(chǎn)環(huán)境對主機的交易吞吐量指標要求為:9.在分析結(jié)果時怎么進行結(jié)果圖的疊加?答:選中要跌加的一個圖點擊右鍵MergeGraphs(Ctrl+M),在Selectgraphtomergewith現(xiàn)在要疊加圖的名稱選擇要合并的圖的名稱10.怎么分析結(jié)果的時間,服務(wù)器還是網(wǎng)絡(luò)資源耗時多?選擇吞吐量試圖(AverageTransactionResponseTime)右鍵-WebPageDiagnosticsforDownloadTime下載時間Component(OverTime)組件(超過時間)DownloadTime下載時間TimetoFirstBuffer時間第一個緩沖區(qū)network網(wǎng)絡(luò)Server服務(wù)器11.怎么生成報告,或者保存為網(wǎng)頁報告形式?答:Results-AnalyzeResults生成報告,生成文檔報告(Reports-NenReports建報告名-Generate.自動生成報告。選擇生成報告格式12.腳本結(jié)構(gòu),哪個部分用戶循環(huán)?答:Action部分用戶循環(huán)13.腳本運行時日志中的各選項含義?1、Enablelogging啟用日志記錄如果選中該選項Loadrunner在執(zhí)行腳本時,進行日志的記錄,否則不記錄日志2、Sendmessagesonlywhenanerroroccurs僅在出錯時發(fā)送消息也稱為JIT(實時)消息傳遞,僅當(dāng)錯誤發(fā)生時才寫入日志,選擇該選項后則可以設(shè)置高級選項,指明日志緩存的大小,loadrunner默認的日志到小為1k3、Alwayssendmessages始終發(fā)送消息4、Standardlog標準日志:創(chuàng)建在腳本執(zhí)行期間發(fā)送的函數(shù)和消息的標準日志,供調(diào)試時使用。對于大型負載測試場景、優(yōu)化會話或配置文件禁用此選項。如果日志記錄級別設(shè)置為“標準”,當(dāng)把腳本添加到場景、會話步驟或配置文件中時,日志記錄模式將被自動設(shè)置為“Sendmessagesonlywhenanerroroccurs”。但是,如果日志記錄模式被禁用或者設(shè)置為“擴展”,則將腳本添加到場景、會話步驟或配置文件中將不會影響其日志記錄設(shè)置。5、ExtendedlogParametersubstitution參數(shù)替換:選擇此選項可以記錄指定給腳本的所有參數(shù)及其相應(yīng)的值當(dāng)腳本進行參數(shù)化、插入事務(wù)、關(guān)聯(lián)等優(yōu)化后,在執(zhí)行腳本過程中,參數(shù)化的值、事務(wù)所耗時間、關(guān)聯(lián)函數(shù)取出的變量值均會在日志中輸出,這個選項對調(diào)試腳本查看參數(shù)化取值、關(guān)聯(lián)取值是否正確有著重要的作用6、ExtendedlogDatareturnedbyserver選擇此選項可以記錄服務(wù)器返回的所有數(shù)據(jù)。Loadrunner會將所有對服務(wù)器發(fā)出請求后的response情況記錄在日志中,從這個日志中可以查看到服務(wù)器對請求的回應(yīng)是否正確,在使用關(guān)聯(lián)取值時往往需要到該日志中查看需要關(guān)聯(lián)的值,從而確認所取數(shù)據(jù)左右邊界。7、ExtendedlogAdvancedtrace高級跟蹤選擇此選項可以記錄Vuser在會話期間發(fā)送的所有函數(shù)和消息。調(diào)試Vuser腳本時,該選項非常有用。14.場景執(zhí)行過程中怎么看需要關(guān)心的數(shù)據(jù),都有哪些數(shù)據(jù)?答:響應(yīng)時間、點擊率、用戶數(shù)、事務(wù)通過數(shù)、失敗數(shù)、吞吐量cpu:top內(nèi)存:sar。sar-r210I/Oiostat210vmstat查看ewp進程psauwx|grepewp看ewp日志:tail-f/var/www/apps/ewp/log/report.log15.場景設(shè)計中的負載加載方式有哪些,怎么做?答:階梯式加壓,一次性加壓,并發(fā)式加載階梯式加壓一次性加壓,并發(fā)式加載16.協(xié)議的選???答:1、可以直接確認2、通過研發(fā)人員了解被測系統(tǒng)使用了什么樣的協(xié)議。17.幾種場景的設(shè)計方式?答:并發(fā)測試、階梯式加壓、疲勞測試、單業(yè)務(wù)測試、負載測試并發(fā)測試壓力測試18.怎么設(shè)置場景?答:啟動Controller,(ManualScenario用戶完全手動設(shè)置,Goal-OrientedScenario在現(xiàn)在的場景中設(shè)置,選擇添加執(zhí)行的腳本,創(chuàng)建場景方案,運行場景。創(chuàng)建場景:1、可以通過VuGen直接轉(zhuǎn)換當(dāng)前腳本進入場景,在tools菜單下打開CreateControllerScenario2、打開Controller新建場景,在彈出的新場景設(shè)置窗口設(shè)置場景類型和對應(yīng)腳本,目標場景(GoalScenario),手工場景(ManualScenario)目標場景設(shè)置:VirtualUsers表示虛擬用戶數(shù),被測試系統(tǒng)所需要支持的用戶數(shù)HitsperSecond設(shè)置每秒點擊數(shù)目標TransactionperSceond設(shè)置每秒事務(wù)數(shù),一個事務(wù)代表一個操作,每秒事務(wù)數(shù)代表了系統(tǒng)的處理能力。TransactionResponseTime事務(wù)響應(yīng)時間,反映了系統(tǒng)的處理速度以及做一個操作所需花費時間。PagesperMinute每分鐘頁面的刷新次數(shù),反映了系統(tǒng)在每分鐘下所能提供的Page的處理能力。Design設(shè)計Run運行19.腳本的參數(shù)化怎么做?1、將光標定位在要參數(shù)化的字符上,點擊右鍵。打開彈出菜單。2、在彈出菜單中,選擇"ReplacewithaParameter"。選擇或者創(chuàng)建參數(shù)的對話框彈出。3、在"Parametername"中輸入?yún)?shù)的名稱,或者選擇一個在參數(shù)列表中已經(jīng)存在的參數(shù)。4、在"Parametertype"下拉列表中選擇參數(shù)類型。5、點擊"OK",關(guān)閉該對話框。腳本生成器便會用參數(shù)中的值來取代腳本中被參數(shù)化的字符,參數(shù)用一對"{}"括住。"Name=password","Value={NewParam}",ENDITEM,6.在雙擊點擊EditwithNotepad,打開參數(shù)化數(shù)據(jù)文件,添加數(shù)據(jù)后,選擇Byname選擇參數(shù)名,點擊Close。20.參數(shù)化的幾種類型是什么,怎么用?BPTCustomDate/Time(日期/時間)參數(shù)類型:Date/Time類型用當(dāng)前日期/時間替換參數(shù)File(文件)參數(shù)類型:在參數(shù)屬性編輯參數(shù)文件,或直接選擇已編譯好的參數(shù)文件,還可以從現(xiàn)成數(shù)據(jù)庫提取此文件。GroupName(組的名稱)參數(shù)類型:用Vuser組的名稱替換參數(shù)。lterationNumber(迭代編號)參數(shù)類型:用當(dāng)前的迭代編號替換參數(shù)。LoadGeneratorName(負載生成服務(wù)器的名稱)參數(shù)類型:用Vuser腳本的負載發(fā)生器名替換參數(shù),負載發(fā)生器是運行Vuser的計算機。RandomNumber隨機數(shù)(參數(shù)化隨機數(shù)范圍)參數(shù)類型:用一個隨機生成的整數(shù)替換參數(shù),可以通過指定最大值和最小值,設(shè)置隨機編號范圍。Table表(參數(shù)化數(shù)據(jù)表):是一個FILE類型增強版,它提供了一些獨特的功能。Columns提供了對列的分割方式的設(shè)置。UniqueNumber(參數(shù)化用戶名)唯一的編號數(shù)據(jù)參數(shù)類型:Blocksize(塊大小)用一個唯一編碼替換參數(shù)。指明分配給每個Vuser的編號的大小。每個Vuser都從其范圍的下限開始,在每次迭代是遞增該參數(shù)。UserDerinedFunction用戶功能Derined(提供外部dll擴展腳本功能):這是VuGen提供的擴展功能。當(dāng)需要通過外部程序生成某些數(shù)據(jù)的時候,可以通過dll的方式來完成特殊輸入。VuserID虛擬用戶的編號參數(shù)類型:LR使用該虛擬用戶的ID來替換數(shù)值,該ID由Controller來控制。在VuGen中運行腳本時,VuGen將會是-1.xml(以xml格式參數(shù)化)參數(shù)類型:作為一種流行數(shù)據(jù)格式,XML在業(yè)界得到了大量的應(yīng)用,XML參數(shù)類型提供了對XML格式的支持,可以在參數(shù)器修改XML內(nèi)容格式。22.理解線程和進程的含義和區(qū)別?答:進程和線程都是由操作系統(tǒng)所體會的程序運行的基本單元,系統(tǒng)利用該基本單元實現(xiàn)系統(tǒng)對應(yīng)用的并發(fā)性。進程和線程的區(qū)別在于:簡而言之,一個程序至少有一個進程,一個進程至少有一個線程.線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高。線程在執(zhí)行過程中與進程還是有區(qū)別的。每個獨立的線程有一個程序運行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。有2個用戶在運行時,進程是在任務(wù)管理器出現(xiàn)2個mmdrv.exe,線程是出現(xiàn)一個mmdrv.exe。23怎么插入事務(wù)?答:自動添加事務(wù)點擊InsertStartTransaction(Ctrl+T)和InsertEndTransaction(Ctrl+D)來添加事務(wù),手動添加事務(wù)在獲取響應(yīng)時間前添加事務(wù)開始lr_start_transaction(“事務(wù)名”);獲取響應(yīng)時間后lr_end_transaction("事務(wù)名",LR_AUTO);事務(wù)結(jié)束。24.怎么創(chuàng)建場景?答:1、可以通過VuGen直接轉(zhuǎn)換當(dāng)前腳本進入場景,在tools菜單下打開CreateControllerScenario2、打開Controller新建場景,在彈出的新場景設(shè)置窗口設(shè)置場景類型和對應(yīng)腳本,目標場景(GoalScenario),手工場景(ManualScenario)25.怎么生成結(jié)果?Results-Resultssettings在場景中保存結(jié)果,選擇的目錄答:在運行腳本結(jié)束后,查看運行情況,Results-AnalyzeResults(analysis>report>HtmlReport(wordreport格式)),查看結(jié)果圖,和查看并發(fā)用戶數(shù)是負載壓力的主要指標,測試重點得到兩類并發(fā)用戶數(shù)指標,一類是系統(tǒng)最佳性能的并發(fā)用戶數(shù),另一類是系統(tǒng)能夠承受的最大并發(fā)用戶數(shù),這兩類指標在某種情況下有可能重疊。交易響應(yīng)時間圖,交易通過率指標,吞吐量圖,點擊率圖,查看服務(wù)器操作系統(tǒng)資源占用
CPU數(shù)據(jù)、磁盤管理I/O數(shù)據(jù)、內(nèi)存數(shù)據(jù)進程創(chuàng)建HTML報告打開Report菜單下的HTMLReport命令,設(shè)置報告保存地址,確認后就會得到HTML版的性能測試報告。創(chuàng)建word報告打開Report菜單下的MicrosoftWordReport命令創(chuàng)建一個word報告。創(chuàng)建水晶報表打開Report菜單下的CrystalReport命令,這里提供了Activityreport(活動報告)和Performancereport(性能報告)活動報告:提供關(guān)于虛擬用戶和場景運行的信息,包括開始時間、結(jié)束時間等詳細信息。又包括場景執(zhí)行(ScenarioExecution)、失敗交易(FailedTransaction)、失敗的虛擬用戶(FailedVusers)三種。性能報告:可以分析每個Transaction(事務(wù))所用的時間,其中有DataPoint(數(shù)據(jù)點)、DetailedTransaction(詳細事務(wù))和TransactionPerformanceByUser(事務(wù)性能)。26.在運行腳本中,發(fā)現(xiàn)地址寫錯了怎么辦?答:在設(shè)置場景場景中Design-上邊的按鈕(Details)-Refresh按鈕-選Script刷新腳本(RuntimeSettings運行時設(shè)置)27.怎么去設(shè)置HTTP的請求超時時間設(shè)置?答:選擇Run-timeSettings–preferences–Options-HTTP-HTTP-requestconnecttimeout(sec)HTTP請求連接超時(秒)28.在現(xiàn)實腳本把答:Run-timeSettings-Misscellaneous-ErrorHanding(Continueonerror)選上。29.怎么在結(jié)果中,添加沒有監(jiān)控的圖?答:打開場景結(jié)果圖界面Graphs右鍵-AddNewItem–AddNewGraph-選擇你要選擇的指標圖雙擊后自動打開,生成HTMl和自動保存文件等。三.搭建項目環(huán)境1.常見證書文件格式,什么時候需要用證書?答:CACert.crt證書和unicom.cer證書。CACert.crt簽名文件證書(數(shù)字證書采用公鑰體制,即利用一對互相匹配的密鑰進行加密、解密)unicom.cer證書(手機通信證書).pem:隱式增強郵件(PrivateEnhancedMail)【openssl用此格式保存私鑰(類似keytool中的keystore的作用),也是一種證書格式(不含私鑰),BASE64編碼】.csr:證書簽名請求(CertificateSigningRequest).p12/.pfx:PKCS#12標準,一般作為密鑰庫或信任庫使用,有密碼保護(pfx-名詞釋義
公鑰加密技術(shù)12號標準(PublicKeyCryptographyStandards#12,PKCS#12)為存儲和傳輸用戶或服務(wù)器私鑰、公鑰和證書指定了一個可移植的格式。它是一種二進制格式,這些文件也稱為PFX文件。).cer/.crt:客戶證書,不含私鑰,.cer有兩種編碼,BASE64編碼或DER二進制編碼.ber.per.xer.der.jks:密鑰庫類型,JavaKeyStore,也是默認密鑰庫類型2.需要哪些頭文件?答:Handshake.h加密握手頭文件,diCrPKI.h宏定義定義所有PKl頭文件,Lib.h分配空間的頭文件,diCryptoSys.h宏定義定義所有的API頭文件,常用的頭文件如下
#include<assert.h>//設(shè)定插入點
#include<ctype.h>//字符處理
#include<errno.h>//定義錯誤碼
#include<float.h>//浮點數(shù)處理
#include<fstream.h>//文件輸入/輸出
#include<iomanip.h>//參數(shù)化輸入/輸出
#include<iostream.h>//數(shù)據(jù)流輸入/輸出
#include<limits.h>//定義各種數(shù)據(jù)類型最值常量
#include<locale.h>//定義本地化函數(shù)
#include<math.h>//定義數(shù)學(xué)函數(shù)
#include<stdio.h>//定義輸入/輸出函數(shù)
#include<stdlib.h>//定義雜項函數(shù)及內(nèi)存分配函數(shù)
#include<string.h>//字符串處理
#include<strstrea.h>//基于數(shù)組的輸入/輸出
#include<time.h>//定義關(guān)于時間的函數(shù)
#include<wchar.h>//寬字符處理及輸入/輸出
#include<wctype.h>//寬字符分類
ALLOC.H說明內(nèi)存管理函數(shù)(分配、釋放等)。ASSERT.H定義assert調(diào)試宏。BIOS.H說明調(diào)用IBM—PCROMBIOS子程序的各個函數(shù)。CONIO.H說明調(diào)用DOS控制臺I/O子程序的各個函數(shù)。CTYPE.H包含有關(guān)字符分類及轉(zhuǎn)換的名類信息(如isalpha和toascii等)。DIR.H包含有關(guān)目錄和路徑的結(jié)構(gòu)、宏定義和函數(shù)。DOS.H定義和說明MSDOS和8086調(diào)用的一些常量和函數(shù)。ERRON.H定義錯誤代碼的助記符。FCNTL.H定義在與open庫子程序連接時的符號常量。FLOAT.H包含有關(guān)浮點運算的一些參數(shù)和函數(shù)。GRAPHICS.H說明有關(guān)圖形功能的各個函數(shù),圖形錯誤代碼的常量定義,正對不同驅(qū)動程序的各種顏色值,及函數(shù)用到的一些特殊結(jié)構(gòu)。IO.H包含低級I/O子程序的結(jié)構(gòu)和說明。LIMIT.H包含各環(huán)境參數(shù)、編譯時間限制、數(shù)的范圍等信息。MATH.H說明數(shù)學(xué)運算函數(shù),還定了HUGEVAL宏,說明了matherr和matherr子程序用到的特殊結(jié)構(gòu)。MEM.H說明一些內(nèi)存操作函數(shù)(其中大多數(shù)也在STRING.H中說明)。PROCESS.H說明進程管理的各個函數(shù),spawn…和EXEC…函數(shù)的結(jié)構(gòu)說明。SETJMP.H定義longjmp和setjmp函數(shù)用到的jmpbuf類型,說明這兩個函數(shù)。SHARE.H定義文件共享函數(shù)的參數(shù)。SIGNAL.H定義SIG[ZZ(Z][ZZ)]IGN和SIG[ZZ(Z][ZZ)]DFL常量,說明rajse和signal兩個函數(shù)。STDARG.H定義讀函數(shù)參數(shù)表的宏。(如vprintf,vscarf函數(shù))。STDDEF.H定義一些公共數(shù)據(jù)類型和宏。STDIO.H定義Kernighan和Ritchie在UnixSystemV中定義的標準和擴展的類型和宏。還定義標準I/O預(yù)定義流:stdin,stdout和stderr,說明I/O流子程序。STDLIB.H說明一些常用的子程序:轉(zhuǎn)換子程序、搜索/排序子程序等。STRING.H說明一些串操作和內(nèi)存操作函數(shù)。SYS\STAT.H定義在打開和創(chuàng)建文件時用到的一些符號常量。SYS\TYPES.H說明ftime函數(shù)和timeb結(jié)構(gòu)。SYS\TIME.H定義時間的類型time[ZZ(Z][ZZ)]t。TIME.H定義時間轉(zhuǎn)換子程序asctime、localtime和gmtime的結(jié)構(gòu),ctime、difftime、gmtime、localtime和stime用到的類型,并提供這些函數(shù)的原型。VALUE.H定義一些重要常量,包括依賴于機器硬件的和為與UnixSystemV相兼容而說明的一些常量,包括浮點和雙精度值的范圍。3.需要哪些dll文件?答:diCrPKI.dll,diCryptoSys.dll(宏定義的動態(tài)鏈接庫)(dll是動態(tài)鏈接庫),Dll的制作過程如下:(1.)
啟動VC6.0(2.)在FILE->NEW->PROJECTS中選擇"WIN32Dynamic-LinkLibrary",在ProjectName中輸入"test1",單擊OK(3.)在FILE->NEW->FILES中選擇C++SOURCEFILE,在FILE中輸入test1.cpp,單擊OK(4.)在FILE->NEW->FILES中選擇TEXT文件,在FILE中輸入test1.h,單擊OK(5.)
在FILE->NEW->FILES中選擇TEXT文件,在FILE中輸入test1.def,單擊OK4.了解常見的網(wǎng)絡(luò)拓撲結(jié)構(gòu)?答:網(wǎng)絡(luò)拓撲結(jié)構(gòu),英文名稱:networktopology。(男科瑞,t罷了b)拓撲這個名詞是從幾何學(xué)中借用來的。拓撲學(xué)(TOPOLOGY)是一種研究與大小、距離無關(guān)的幾何圖形特性的方法。網(wǎng)絡(luò)拓撲結(jié)構(gòu)定義:在計算機網(wǎng)絡(luò)中指定設(shè)備和線路的安排或布局;在地理網(wǎng)絡(luò)中指網(wǎng)絡(luò)要素之間的連接關(guān)系。在選擇拓撲結(jié)構(gòu)時,主要考慮的因素有:安裝的相對難易程度、重新配置的難易程度、維護的相對難易程度、通信介質(zhì)發(fā)生故障時,受到影響的設(shè)備的情況。常見網(wǎng)絡(luò)拓撲結(jié)構(gòu):(1)星型拓撲結(jié)構(gòu)星型拓撲是由中央節(jié)點和通過點到通信鏈路接到中央節(jié)點的各個站點組成。星型拓撲結(jié)構(gòu)具有以下優(yōu)點:(1)控制簡單。(2)故障診斷和隔離容易。(3)方便服務(wù)。星型拓撲結(jié)構(gòu)的缺點:(1)電纜長度和安裝工作量可觀。(2)中央節(jié)點的負擔(dān)較重,形成瓶頸。(3)各站點的分布處理能力較低。(2)總線拓撲結(jié)構(gòu)總線拓撲結(jié)構(gòu)采用一個信道作為傳輸媒體,所有站點都通過相應(yīng)的硬件接口直接連到這一公共傳輸媒體上,該公共傳輸媒體即稱為總線??偩€拓撲結(jié)構(gòu)的優(yōu)點:(1)總線結(jié)構(gòu)所需要的電纜數(shù)量少。(2)總線結(jié)構(gòu)簡單,又是無源工作,有較高的可靠性。(3)易于擴充,增加或減少用戶比較方便。總線拓撲的缺點:(1)總線的傳輸距離有限,通信范圍受到限制。(2)故障診斷和隔離較困難。(3)分布式協(xié)議不能保證信息的及時傳送,不具有實時功能(3)環(huán)型拓撲結(jié)構(gòu)環(huán)型拓撲網(wǎng)絡(luò)由站點和連接站的鏈路組成一個閉合環(huán)。環(huán)型拓撲的優(yōu)點:(1)電纜長度短。(2)增加或減少工作站時,僅需簡單的連接操作。(3)可使用光纖。(光纖是光導(dǎo)纖維的簡寫,是一種利用光在玻璃或塑料制成的纖維中的全反射原理而達成的光傳導(dǎo)工具。)環(huán)型拓撲的缺點:(1)節(jié)點的故障會引起全網(wǎng)故障。(2)故障檢測困難。(3)環(huán)型拓撲結(jié)構(gòu)的媒體訪問控制協(xié)議都采用令牌傳達室遞的方式,在負載很輕時,信道利用率相對來說就比較低。其它網(wǎng)絡(luò)拓撲結(jié)構(gòu):樹型拓撲結(jié)構(gòu):樹型結(jié)構(gòu)實際上是星型結(jié)構(gòu)的一種變形,它將原來用單獨鏈路直接連接的節(jié)點通過多級處理主機進行分級連接。這種結(jié)構(gòu)與星型結(jié)構(gòu)相比降低了通信線路的成本,但增加了網(wǎng)絡(luò)復(fù)雜性。網(wǎng)絡(luò)中除最低層節(jié)點及其連線外,任一節(jié)點或連線的故障均影響其所在支路網(wǎng)絡(luò)的正常工作。網(wǎng)狀拓撲結(jié)構(gòu):網(wǎng)狀結(jié)構(gòu)分為全連接網(wǎng)狀和不完全連接網(wǎng)狀兩種形式。全連接網(wǎng)狀中,每一個節(jié)點和網(wǎng)中其它節(jié)點均有鏈路連接。不完全連接網(wǎng)中,兩節(jié)點之間不一定有直接鏈路連接,它們之間的通信,依靠其它節(jié)點轉(zhuǎn)接。這種網(wǎng)絡(luò)的優(yōu)點是節(jié)點間路徑多,碰撞和阻塞可大大減少,局部的故障不會影響整個網(wǎng)絡(luò)的正常工作,可靠性高;網(wǎng)絡(luò)擴充和主機入網(wǎng)比較靈活、簡單。但這種網(wǎng)絡(luò)關(guān)系復(fù)雜,建網(wǎng)不易,網(wǎng)絡(luò)控制機制復(fù)雜。廣域網(wǎng)中一般用不完全連接網(wǎng)狀結(jié)構(gòu)。蜂窩拓撲結(jié)構(gòu):蜂窩拓撲結(jié)構(gòu)是無線局域網(wǎng)中常用的結(jié)構(gòu)。它以無線傳輸介質(zhì)(微波、衛(wèi)星、紅外等)點到點和多點傳輸為特征,是一種無線網(wǎng),適用于城市網(wǎng)、校園網(wǎng)、企業(yè)網(wǎng)。四.Linux命令學(xué)習(xí)1.怎么查詢linux系統(tǒng)和aix系統(tǒng)的邏輯cpu核數(shù),內(nèi)存,硬盤,頻率,網(wǎng)卡?答:linux#uname-a查看內(nèi)核/操作系統(tǒng)/CPU信息#head-n1/etc/issue#查看操作系統(tǒng)版本(CentOSrelease5.4(Final)CentOS版本5.4)#cat/proc/cpuinfo#查看CPU信息(配置)cat/proc/meminfo靜態(tài)的top能顯示系統(tǒng)內(nèi)存。我們常用的Linux下查看內(nèi)容的專用工具是free命令。下面是對內(nèi)存查看free命令輸出內(nèi)容的解釋:total:總計物理內(nèi)存的大小。used:已使用多大。free:可用有多少。Shared:多個進程共享的內(nèi)存總額。Buffers/cached:磁盤緩存的大小。df:硬盤(Used使用的Available空閑的Use%使用過的%多少)df–lhifconfig網(wǎng)卡頻率:內(nèi)存頻率dmidecodeCPU頻率sudomore/proc/cpuinfo(cpuMHz:2500.000)查看cpu個數(shù)及型號
#cat/proc/cpuinfo|grepname|cut-f2-d:|uniq–c.查看物理cpu個數(shù)
#cat/proc/cpuinfo|grepphysical|uniq–c物理CPU個數(shù);cat/proc/cpuinfo|grep"physicalid"|sort|uniq|wc-l
邏輯CPU個數(shù):cat/proc/cpuinfo|grep"processor"|uniq–c查看網(wǎng)卡信息
#dmesg|grepethe1000:eth0:e1000_probe:Intel(R)PRO/1000NetworkConnectionE1000:eth0的:e1000_probe:英特爾(R)PRO/1000網(wǎng)絡(luò)連接e1000:eth0:e1000_watchdog_task:NICLinkisUp1000MbpsFullDuplex,FlowControl:NoneE1000:eth0的:e1000_watchdog_task:NIC
Link是1000Mbps的全雙工,流量控制:無eth0:noIPv6routerspresent為eth0:沒有IPv6路由器介紹aix系統(tǒng)uname顯示操作系統(tǒng)信息prtconf就可以查看系統(tǒng)所有的信息cpu內(nèi)存硬盤topas內(nèi)存查看內(nèi)存使用情況psaux物理網(wǎng)卡netstat-v或lscfg-vpentX(netstat–in)頻率:查看內(nèi)存
使用命令#
lsdev-Ccmemory
或者
#bootinfo-r
查看物理內(nèi)存
prtconf就可以查看系統(tǒng)所有的信息cpu內(nèi)存硬盤等..
顯示每一個CPU的頻率
#pmcycles-m
查看機器型號,SN
#uname–MuLinuxcpu主頻processor:0處理器:0vendor_id:GenuineIntelvendor_id:GenuineIntelcpufamily:6CPU系列:6model:23型號:23modelname:Intel(R)Core(TM)2QuadCPUQ8300@2.50GHz型號名稱:英特爾(R)酷睿(TM)2四核CPU
Q8300@2.50GHzstepping:10步進:10cpuMHz:2500.000CPU兆赫:2500.000cachesize:2048KB緩存大?。?048
KBfpu:yesFPU:fpu_exception:yesfpu_exception:是cpuidlevel:13CPUID級別:13wp:yesWP:是flags:fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushdtsacpimmxfxsrssesse2sssyscallnxlmconstant_tscuppnicx16lahf_lm標志:FPU
VME
DE
PSE
TSC
MSR
PAE
MCE
cx8
APIC
SEP
MTRR
PGE
MCACMOV拍拍pse36
CLFLUSH
DTS
ACPI
MMX
fxsr
SSE
SSE2
SS系統(tǒng)調(diào)用NX
LMconstant_tsc起來PNI
CX16
lahf_lmbogomips:5000.00bogomips:5000.00clflushsize:64CLFLUSH大小:64cache_alignment:64cache_alignment:64addresssizes:40bitsphysical,48bitsvirtual地址大?。?0位的物理,虛擬48位powermanagement:電源管理:2.linux和aix上怎么實際監(jiān)控cpu利用率進程,內(nèi)存使用率?答:vmstat,topes,iostat,sar等sar命令報告CPU的使用情況,I/O以及其它系統(tǒng)行為。iostat命令主要通過觀察物理磁盤的活動時間以及他們的平均傳輸速度。內(nèi)存監(jiān)控:vmstat命令報告關(guān)于核心線程,虛擬內(nèi)存,自陷(trap),磁盤以及CPU行為的統(tǒng)計。而且每種行為報告都被更細致地用百分比分別表示用戶態(tài)、核態(tài)、空閑以及等待磁盤I/O等情況。Top監(jiān)控工具可以顯示CPU占用率為前幾位的進程,并提供CPU的實時活動情況。它是一個動態(tài)顯示過程,即可以通過用戶按鍵來不斷刷新當(dāng)前狀態(tài)。如果在前臺執(zhí)行該命令,它將獨占前臺,直到用戶終止該程序為止。>/home/a.txt3.nmon工具怎么安裝,怎么使用,怎么看cpu,內(nèi)存使用率?nmon的安裝步驟如下:1)用root用戶登錄到系統(tǒng)中;2)建目錄:#mkdir/test;3)把nmon用ftp上傳到/test,或者通過其他介質(zhì)拷貝到/test目錄中;4)執(zhí)行授權(quán)命令:#chmod+xnmon。Linux1.
安裝nmon下載nmon_x86_11f.zip,上傳到linux下,解壓后改文件名為nmon。打開nmon目錄,有多個系統(tǒng)的nmon版本,選擇一個nmon,修改權(quán)限。如:chmod777nmon_x86_fedora5。即完成nmon工具的安裝。2.
使用nmonNmon工具使用非常的簡單。啟動該程序。使用命令:./nmon_x86_fedora5–fT–s5–c100。命令的含義是:-f輸出文件,-T輸出最耗資源的進程,-s收集數(shù)據(jù)的時間間隔(秒),-c收集數(shù)據(jù)的次數(shù)?;蚝笈_運行nmon,使用命令:nohup./nmon_x86_fedora5–fT–s5–c100。3.
輸出.nmon文件在nmon執(zhí)行完后,會在當(dāng)前目錄下輸出.nmon文件。輸出文件的命名方式是服務(wù)器名_日期時間.nmon。4.
分析數(shù)據(jù)輸出.nmon的數(shù)據(jù)文件后,我們可以使用nmon工具的配套軟件“nmonanalyserv339.xls”進行數(shù)據(jù)的分析了。打開“nmonanalyserv339.xls”,按【analysenmondata】按鈕,選擇要分析的.nmon文件,即輸出分析的圖標和數(shù)據(jù)xls表。(若出現(xiàn)安全性提醒的框,在安全設(shè)置里將宏的安全性設(shè)為低即可。)其中需要關(guān)注的幾項系統(tǒng)性能數(shù)據(jù)為:CPU_ALL,CPU資源的使用情況;DISK_SUM,磁盤的總體使用情況;DISK_BUSY,磁盤忙的比例;DISK_READ,讀磁盤的速率;DISK_WRITE,寫磁盤的速率;MEM,內(nèi)存占用情況,包括系統(tǒng)緩存;TOP,系統(tǒng)的top信息。得到以上數(shù)據(jù),可以作圖平均響應(yīng)時間,QPS,內(nèi)存,磁盤讀寫等趨勢圖??傊琻mon工具在于分析進程的性能瓶頸,在于CPU,磁盤還是內(nèi)存等。AIX使用-安裝首先下載nmon工具,下載時需注意要下載對應(yīng)的系統(tǒng)版本。我們這里以AIX為例,下載的是nmon4aix_11e.tar.gz版本。下載后解壓nmon4aix_11e.tar.gz(里面包含README_v11.txt、nmon_aix51、nmon_aix52ml5、nmon、nmon_aix52ml2nmon_aix53),將文件夾名改為nmon并上傳到Linux中(任何一個文件夾下均可以)。為了能夠正常的使用nmon工具,我們需要修改相關(guān)文件的權(quán)限。tbcs@BOSS1:/interface/interface/nmon$chmod755nmonnmon_aix51nmon_aix52ml2nmon_aix52ml5nmon_aix53
1.jpg現(xiàn)在可以使用nmon了。Nmon工具使用比較簡單,在nmon目錄下,輸入./nmon
2.jpg出現(xiàn)此畫面,說明已安裝成功。(這是AIX版本的畫面,其他版本畫面會稍有不同)輸入c可顯示CPU的信息,“m”對應(yīng)內(nèi)存、“n”對應(yīng)網(wǎng)絡(luò),“d”可以查看磁盤信息;“t”可以查看系統(tǒng)的進程信息;”
3.jpg三、數(shù)據(jù)采集以上實現(xiàn)的是對服務(wù)器的實時監(jiān)控,在實際的性能測試中我們需要把一段時間之內(nèi)的數(shù)據(jù)記錄下來,可以使用如下命令./nmon–f–ttest–s30–c10上面命令的含義是:-f:按標準格式輸出文件名稱:<hostname>_YYYYMMDD_HHMM.nmon-t輸出最耗資源的進程
-s:每隔n秒抽樣一次,這里為30秒
-c:取出多少個抽樣數(shù)量,這里為10,即監(jiān)控=10*30/60=5分鐘test:監(jiān)控記錄的標題該命令啟動后,會在nmon所在目錄下生成監(jiān)控文件,并持續(xù)寫入資源數(shù)據(jù),直至360個監(jiān)控點收集完成——即監(jiān)控1小時,這些操作均自動完成,無需手工干預(yù),測試人員可以繼續(xù)完成其他操作。如果想停止該監(jiān)控,需要通過“#ps–ef|grepnmon”查詢進程號,然后殺掉該進程以停止監(jiān)控。nmon輸出文件的命名方式是服務(wù)器名_日期時間.nmon通過以下命令,將.nmon文件轉(zhuǎn)化成.csv文件,在當(dāng)前目錄生成對應(yīng)的.csv文件sortBOSS1_110810_1438.nmon>BOSS1_110810_1438.csv
4.jpg將BOSS1_110810_1438.csv文件下載到本地。通過nmonanalyser工具(nmonanalyserv33g.xls)轉(zhuǎn)化為excel文件。如何轉(zhuǎn)化呢?步驟如下:1)下載后打開nmonanalyserv33g.xls2)調(diào)整excel宏的安全級別,調(diào)整為最低或者如下操作
5.jpg3)然后點擊Analysernmondata按鈕,選擇下載下來的.csv文件,然后就會轉(zhuǎn)化成.excel文件,生成圖形化的文件,例如:4.怎么清理linux環(huán)境的內(nèi)存?答:free–mtotal內(nèi)存總數(shù)used已經(jīng)使用的內(nèi)存數(shù)free空閑的內(nèi)存數(shù)shared多個進程共享的內(nèi)存總額buffersBufferCache和cachedPageCache磁盤緩存的大小-buffers/cache的內(nèi)存數(shù):used-buffers-cached+buffers/cache的內(nèi)存數(shù):free+buffers+cached可用的memory=freememory+buffers+cached#synccat/proc/sys/vm/drop_caches要達到釋放緩存的目的,我們首先需要了解下關(guān)鍵的配置文件/proc/sys/vm/drop_caches。這個文件中記錄了緩存釋放的參數(shù),默認值為0,也就是不釋放緩存。他的值可以為0~3之間的任意數(shù)字,代表著不同的含義:0–不釋放
1–釋放頁緩存
2–釋放dentries和inodes
3–釋放所有緩存五.熟悉腳本并調(diào)試1.理解局部變量與全局變量?答:變量的作用:變量存儲在內(nèi)存中不同的存儲區(qū)域,將影響變量值的存在時間(即生存期)。變量的生存期指程序在執(zhí)行期間,變量存在的時間間隔,即從給變量分配內(nèi)存至所分配內(nèi)存被系統(tǒng)收回的那段時間。局部變量——內(nèi)部變量定義:在函數(shù)模塊內(nèi)定義的,且只在本函數(shù)模塊內(nèi)有效。說明:(1)main中定義的變量只在main中有效(2)不同函數(shù)中同名變量,占不同內(nèi)存單元(3
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空運輸合同書
- 公司內(nèi)部銷售承包合同
- 土地買賣居間服務(wù)合同
- 返聘勞務(wù)合同
- 工程建設(shè)項目委托招標代理合同
- 舊機動車交易合同書
- 影視制作服務(wù)版權(quán)轉(zhuǎn)讓合同
- 山東特殊教育職業(yè)學(xué)院《口腔解剖生理學(xué)一》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西工商學(xué)院《機器人學(xué)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東勞動職業(yè)技術(shù)學(xué)院《模具設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 14 文言文二則 學(xué)弈 教學(xué)設(shè)計-2024-2025學(xué)年語文六年級下冊統(tǒng)編版
- 2025年度劇本殺劇本版權(quán)授權(quán)與收益分成合同
- 2025年春季學(xué)期學(xué)校工作計劃及安排表
- 2025年一種板式過濾膜裝置項目投資可行性研究分析報告
- BMS基礎(chǔ)知識培訓(xùn)
- 2024初中數(shù)學(xué)課程標準測試題(含答案)精華版
- 2024年陜西延長石油集團礦業(yè)公司招聘筆試參考題庫含答案解析
- 鋁的陽極氧化和著色
- 信用社(銀行)清產(chǎn)核資實施方案
- 模板拉桿加固計算
- 市場營銷》教案
評論
0/150
提交評論