一臺Linux模擬Browser(簡稱browser)向主機SUN發 HTTP請求,SUN上啟動Apache Web Server將請求交給FCGI程序。FCGI程序作為TE節點CC1(簡稱fcgi)的客戶進程發起TE事務,經GT1名字服務向CC2 (簡稱svr_cc)發送一個分支,CC2 上服務嵌套經GT1名字服務向ACCTFZ(在HP上,簡稱svr_ac)發送一個分支。 測試3種壓力情況,即10browser/10fcgi/5svr_cc服務進程/2svr_ac服務進程,20browser/20fcgi/10svr_cc服務進程/2svr_ac服務進程,30browser/20fcgi/10svr_cc服務進程/2svr_ac服務進程。 一.記錄數據。 各個部分的應用程序在程序中關鍵地方記錄時間,精確到微秒(毫秒也可以),并按一定格式寫入日志文件。這樣可以并計算相同應用相臨時間點之間的平均時間差(編程序分析日志文件或用excel導入)。有了時間差,才能分析出整個系統性能的瓶頸(處理慢的環節)。下面給出一個fcgi進程(也是TE客戶端進程)的日志文件片段。 [19:21:32.628.512] begin_tpbegin [19:21:32.628.833] end_tpbegin [19:21:32.628.944] begin_tpsetbranch [19:21:32.629.053] end_tpsetbranch [19:21:32.629.487] begin_tpcall [19:21:37.102.996] end_tpcall [19:21:37.103.806] begin_tpcommit [19:21:37.432.253] end_tpcommit [19:21:40.405.345] begin_tpbegin [19:21:40.405.532] end_tpbegin [19:21:40.405.639] begin_tpsetbranch [19:21:40.405.742] end_tpsetbranch [19:21:40.406.175] begin_tpcall [19:21:46.732.888] end_tpcall [19:21:46.733.650] begin_tpcommit [19:21:46.832.538] end_tpcommit 第一個字段是時間點時間,第二個字段是該時間點描述串,兩個字段用空格間隔。從這個文件可以看出,fcgi進程是循環處理業務的。 begin_tpbegin處開始一筆業務,begin_tpcall和end_tpcall之間是TE_tpcall()發起請求到收到應答的時間,begin_tpbegin和end_tpbegin之間是TE_tpcommit()發起提交到收到提交應答的時間。而end_tpcommit到begin_tpcall是fcgi進程從一筆業務結束到開始下一筆業務的時間,在這里也就是fcgi進程從Web Server獲取HTTP請求的時間。 從這種格式的原始數據文件可以編程序計算出相臨時間點之間的時間差,并可以計算出所有交易的平均時間差。也可以用excel打開這種格式的原始數據文件,按空格分隔各列,讀入excel后就可以使用excel提供的函數(入SEC()函數從hh:mm:ss時間格式換算成秒)和公式計算時間差和平均值,以及產生圖表等等。事實證明excel的功能是十分強大和方便的。
110593_200903241025431vX0n
延伸閱讀
文章來源于領測軟件測試網 http://www.k11sc111.com/