qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          性能測試之吞吐量

          系統吞吐量:系統吞吐量是指系統在單位時間內所處理的信息量,它以每小時或每天所處理的進程數來度量。吞吐量是指對網絡、設備、端口、虛電路或其他設施,單位時間內成功地傳送數據的數量(以比特字節、分組等測量)。



          對于交互式應用來說,吞吐量指標反映的是服務器承受的壓力,在容量規劃的測試中,吞吐量是一個重點關注的指標,因為它能夠說明系統級別的負載能力,另外,在性能調優過程中,吞吐量指標也有重要的價值。如一個大型工廠,他們的生產效率與生產速度很快,一天生產10W噸的貨物,結果工廠的運輸能力不行,就兩輛小型三輪車一天拉2噸的貨物,比喻有些夸張,但我想說明的是這個運輸能力是整個系統的瓶頸。

            提示,用吞吐量來衡量一個系統的輸出能力是極其不準確的,用個最簡單的例子說明,一個水龍頭開一天一夜,流出10噸水;10個水龍頭開1秒鐘,流出0.1噸水。當然是一個水龍頭的吞吐量大。你能說1個水龍頭的出水能力是10個水龍頭的強?所以,我們要加單位時間,看誰1秒鐘的出水量大。這就是吞吐率。
          系統吞吐量:系統吞吐量是指系統在單位時間內所處理的信息量,它以每小時或每天所處理的進程數來度量。

          系統吞吐量是指系統在單位時間內所處理的信息量,它以每小時或每天所處理的進程數來度量。

            影響吞吐量因素:

            1、存儲設備的存取速度,即從存儲器讀出數據或數據寫入存儲器所需時間;

            2、CPU性能:1)時鐘頻率;2)每條指令所花的時鐘周期數(即CPI);3)指令條數;

            3、系統結構,如并行處理結構可增大吞吐量。

          吞吐率

            單位時間內網絡上傳輸的數據量,也可以指單位時間內處理客戶請求數量。它是衡量網絡性能的重要指標,通常情況下,吞吐率用“字節數/秒”來衡量,當然,你可以用“請求數/秒”和“頁面數/秒”來衡量。其實,不管是一個請求還是一個頁面,它的本質都是在網絡上傳輸的數據,那么來表示數據的單位就是字節數。

            不過以不同的方式表達的吞吐量可以說明不同層次的問題。例如,以字節數/秒方式表示的吞吐量主要受網絡基礎設置、服務器架構、應用服務器制約;以請求數/秒方式表示的吞吐量主要受應用服務器和應用代碼的制約。

            但是從業務的角度看,吞吐率也可以用“業務數/小時或天”、“訪問人數/小時或天”、“頁面訪問量/小時或天”來衡量。例如,在銀行卡審批系統中,可以用“千件/小時”來衡量系統的業務處理能力。那么,從用戶的角度,一個表單提交可以得到一次審批。又引出來一個概念---事務。

          throughput
          吞吐率原指一個業務系統在單位時間內提供的產量(或服務量)。在計算機或數據通信系統,指的是單位時間內通過某通信信道(a communication channel)或某個節點成功交付數據的平均速率,通常以每秒比特數(bps, bits per second )為單位。
          吞吐率是一種關于計算機或數據通信系統(如網橋、路由器網關廣域網連接等)數據傳輸率的測度。吞吐率通常是對一個系統和它的部件處理傳輸數據請求能力的總體評價。例如,一個服務器的吞吐率依賴于它的處理器類型、網絡接口卡的類型、數據傳輸總線的大小、磁盤速度、內存緩沖器的體積,以及軟件對這些部件進行管理的有效程度。在通信系統中,這個測度通常基于每秒能處理的數據位數或分組的數目,它依賴于網絡的帶寬和交換部件(如路由器集線器)的速度。網絡上兩個端點設備間的吞吐率依賴于計算機、網絡接口卡和連接它們的網絡。
          吞吐率作為一個重要的衡量指標,最主要應用在并行處理上,屬于系統結構中最重要的一個變量,它的定義是:單位時間的吞吐量。所以它的詳細定義參見吞吐量
          吞吐率在性能測試中指單位時間內在網絡上傳輸的數據量。是衡量網絡性能的主要指標。

          事務

            就是用戶某一步或幾步操作的集合。不過,我們要保證它有一個完整意義。比如用戶對某一個頁面的一次請求,用戶對某系統的一次登錄,淘寶用戶對商品的一次確認支付過程。這些我們都可以看作一個事務。那么如何衡量服務器對事務的處理能力。又引出一個概念----TPS

           

          TPS (Transaction Per second) 

          每秒鐘系統能夠處理事務或交易的數量,它是衡量系統處理能力的重要指標。

           每秒事務處理量 - 性能測試的術語介紹

          TPS(Transaction Per Second)
          每秒鐘系統能夠處理的交易或事務的數量。它是衡量系統處理能力的重要指標。TPS是LoadRunner中重要的性能參數指標。

          點擊率(Hit Per Second

          點擊率可以看做是TPS的一種特定情況。點擊率更能體現用戶端對服務器的壓力。TPS更能體現服務器對客戶請求的處理能力。

          每秒鐘用戶向web服務器提交的HTTP請求數。這個指標是web 應用特有的一個指標;web應用是“請求-響應”模式,用戶發一個申請,服務器就要處理一次,所以點擊是web應用能夠處理的交易的最小單位。如果把每次點擊定義為一個交易,點擊率和TPS就是一個概念。容易看出,點擊率越大。對服務器的壓力也越大,點擊率只是一個性能參考指標,重要的是分析點擊時產生的影響。

          需要注意的是,這里的點擊不是指鼠標的一次“單擊”操作,因為一次“單擊”操作中,客戶端可能向服務器發現多個HTTP請求。

           

          吞吐量指標的作用

            再次將話題回歸到吞吐量上,在我們的性能測試中查看吞吐量對我們的測試有什么意義呢。

            1. 用戶協助設計性能測試場景,以及衡量性能測試場景是否達到了預期的設計目標:在設計性能測試場景時,吞吐量可被用戶協助設計性能測試場景,根據估算的吞吐量數據,可以對應到測試場景的事務發生頻率,事務發生次數等;另外,在測試完成后,根據實際的吞吐量可以衡量測試是否達到了預期的目標。

            2. 用于協助分析性能瓶頸:吞吐量的限制是性能瓶頸的一種重要表現形式,因此,有針對性地對吞吐量設計測試,可以協助盡快定位到性能冰晶所在位置。

           

          擴展

          RBIrapid bottleneck identify

          Empirix公司提出的快速識別系統性能瓶頸的方法。該方法基于以下事實。

              1. 發現的80%系統的性能瓶頸都由吞吐量制約;

              2. 并發用戶數和吞吐量瓶頸之間存在一定的關聯;

              3. 采用吞吐量測試可以更快速定位問題。 

          通過不斷增加并發用戶數和吞吐量觀察系統的性能瓶頸。然后,從網絡、數據庫、應用服務器和代碼本身4個環節確定系統的的性能瓶頸。

           

            其實,我講了這么多概念,我們無非是站在不同的角度去分解系統的性能,站在用戶的角度,服務器的角度、系統的各種角度。了解一個人需要多方面,了解一個系統也需要多方面。我在盡量把這些東西講的不枯燥,而且易懂。其實,自己寫的過程也是思考的過程。


          posted on 2014-01-30 12:25 順其自然EVO 閱讀(4157) 評論(0)  編輯  收藏 所屬分類: 性能測試

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 工布江达县| 华阴市| 张北县| 疏勒县| 临夏市| 菏泽市| 北宁市| 那坡县| 贡山| 涞水县| 虹口区| 敦化市| 南溪县| 台江县| 措美县| 丹棱县| 吉首市| 聂荣县| 宣汉县| 平度市| 河东区| 大城县| 布拖县| 姜堰市| 广丰县| 喀喇沁旗| 隆德县| 衡阳市| 新乐市| 铜鼓县| 武定县| 富裕县| 博罗县| 东乡族自治县| 庄浪县| 晋江市| 江安县| 龙岩市| 隆子县| 保康县| 庆阳市|