[轉帖]SPECJBB 分析與使用

 

標籤: SPEC  java  數據庫  後端  經驗分享

 
 

 

SPECJBB 分析與使用

 

一、目的

  • Java可運行在不同的操作系統平臺上,但不同的Java版本運行在不同的硬件平臺上會反映出不同的性能,所以我們要進行不同硬件平臺運行Java程序的效率分析

二、SPECJBB 簡介

2.1 是什麼

SPECjbb官網鏈接

  • SPECjbb2005(Java Business Benchmark)基準測試模擬一個三層架構環境來進行JAVA 應用服務器測試,衡量應用服務器端JAVA 應用性能,在SPECjbb 這個基準測試中,被測產品要運行JVM,模擬一家全球大型零售企業的各種終端銷售點請求、在線購買、數據挖掘等日常業務,通過不斷增加的業務量來測試系統能夠處理的最大值,同時會測試隨着業務量增加,系統響應時間的變化,以全面評估運行各項Java業務應用的服務器性能水平,即每秒鐘完成多少次JAVA 業務操作(Business Operation Per Second)(吞吐量:單位時間內成功地傳送數據的數量),正規SPECjbb2005 測試結果發佈必須提供bops 值, 即每秒鐘完成多少筆JAVA 業務操作(Business Operation Per Second),同時要求提供完整的測試環境資料,包括:Java EE應用服務器名稱,DB服務器名稱,處理器內核數量,Java SE服務器數量等
  • SPECjbb2005受TPC-C基準測試的啓發,在模式、輸入生成和事務概要方面鬆散地遵循TPC-C規範,SPECjbb2005在單個JVM中運行(儘管基準測試可能會產生幾個JVM實例)

2.2 三層客戶/服務器模型結構

  • SPECjbb 模擬了三層客戶/服務器模型結構,所有的三層結構都在一個JVM內實現(儘管基準測試可能會產生幾個JVM實例):第一層是表示層;第二層是業務邏輯層;第三層是數據訪問層,簡單來說就是用戶(客戶端輸入)、商業應用邏輯、數據庫,並將中間層作爲主焦點
  • 在SPECjbb這樣表示:
    第一層是用進程或線程模擬客戶系統的隨機輸入
    第二層是對樹結構數據庫中的數據進行操作
    由Java類和Java對象形成的樹結構模擬第三層的數據庫
    用Java類取代數據庫中的表table,用Java對象取代數據庫中的記錄record,這些對象作爲Java集合的實例或其他Java數據對象保存在內存中,重點是第二層業務邏輯的處理能力,即考察用Java編寫的應用程序運行在某臺服務器上所表現出的性能
    ”數據庫現在被建模,不是作爲在基準本身的代碼中實現的BTree結構,而是作爲HashMap實現的結構,或者在表上的某些操作需要排序的情況下作爲TreeMap實現的結構,其目的是讓基準測試反映Java開發人員在提供適當功能的地方使用庫的實踐,而不是編寫自己的代碼實現“

2.3 特性

  1. 一種基於一家全球超市公司的使用模型,該公司擁有處理銷售點請求、在線購買和數據挖掘操作的IT基礎設施
  2. 純吞吐量度量標準和根據服務級別協議(sla)度量關鍵吞吐量的度量標準,指定的響應時間從10毫秒到100毫秒不等(性能用兩個指標來表示,一個是max jops爲純吞吐量量,一個是critical jops爲限制響應時間下的吞吐量量),可以理解爲總吞吐量與關鍵吞吐量
  3. 支持多運行配置,使用戶能夠分析和克服系統堆棧的多個層的瓶頸,包括硬件、操作系統、JVM和應用程序層
  4. 使用新的Java 7特性和其他重要的性能元素,包括最新的數據格式(XML)、使用壓縮的通信以及具有安全性的消息傳遞
  5. 支持虛擬化和雲環境

三、環境說明

  • 硬件配置:
    至少需要一臺8GB內存的服務器,性能運行建議使用24g及以上
  • 軟件配置:
    操作系統:JVM7或更高版本可用的任何操作系統上運行,因爲SPECjdd的測試工作負載是用Java編寫的,需要運行在JVM上

四、TPC-C 簡介

4.1 是什麼

  • TPC(transaction processing performance council)被稱爲事務處理性能委員會,負責定義諸如 TPC-C、TPC-H&TPC-R 和 TPC-W 基準測試之類的事務處理與數據庫性能基準測試,並依據這些基準測試項目發佈客觀性能數據。TPC-C 於 1992 年 7 月 23 日認可爲新的基準測試,是衡量聯機事務處理(OLTP,Online Transaction Processing)系統的工業標準,是行業中公認的權威和最爲複雜的在線事務處理基準測試。

4.2 TPC-C模型

TPC-C的模擬程序並不針對特定的商業對象,可以模擬含有管理、銷售、分發產品、服務的任何工業(例如汽車出租、食物分配、零件供應等),而在TPC-C中描述使用的是一個大型商品批發銷售公司,它擁有若干個分佈在不同區域的商品倉庫,當業務擴展時,公司將添加新的倉庫,每個倉庫負責爲10各銷售點供貨,其中每個銷售點爲3000個客戶提供服務,每個客戶提交的訂單中,平均每個訂單有10項產品,所有訂單中約1%的產品在其直接所屬的倉庫中沒有存貨,必須由其他區域的倉庫來供貨,同時,每個倉庫都要維護公司銷售的100000種商品的庫存記錄

4.3 TPC-C指標

TPC-C測試結果主要有兩個指標,即流量指標(Throughput,簡稱tpmC)和性價比(Price/Performance,簡稱Price/tpmC)
流量指標(Throughput,簡稱tpmC):按照TPC組織的定義,流量指標描述了系統在執行支付操作、訂單狀態查詢、發貨和庫存狀態查詢這4種交易的同時,每分鐘可以處理多少個新訂單交易,所有交易的響應時間必須滿足TPC-C測試規範的要求,且各種交易數量所佔的比例也應該滿足TPC-C測試規範的要求,在這種情況下,流量指標值越大說明系統的聯機事務處理能力越高
性價比(Price/Performance,簡稱Price/tpmC):即測試系統的整體價格與流量指標的比值,在獲得相同的tpmC值的情況下,價格越低越好

4.4 TPC-C交易事務

  1. 新訂單(New-Order):客戶輸入一筆新的訂貨交易
  2. 支付操作(Payment):更新客戶帳戶餘額以反映其支付狀況
  3. 發貨(Delivery):發貨(模擬批處理交易)
  4. 訂單狀態查詢(Order-Status):查詢客戶最近交易的狀態
  5. 庫存狀態查詢(Stock-Level):查詢倉庫庫存狀況,以便能夠及時補貨

4.4.1 新訂單(NEW-ORDER)

  • 事務內容:對於任意一個客戶端,從固定的倉庫隨機選取5-15件商品,創建新訂單,其中少訂單要由假想操作失敗而回滾
  • 主要特點:中量級、讀寫頻繁、要求響應快

4.4.2 支付操作(PAYMENT)

  • 事務內容:對於任意一個客戶端,從固定的倉庫隨機選取一個轄區及其內用戶,採用隨機的金額支付一筆訂單,並作相應歷史紀錄
  • 主要特點:輕量級,讀寫頻繁,要求響應快

4.4.3 訂單狀態查詢(ORDER-STATUS)

  • 事務內容:對於任意一個客戶端,從固定的倉庫隨機選取一個轄區及其內用戶,讀取其最後一條訂單,顯示訂單內每件商品的狀態
  • 主要特點:中量級,只讀頻率低,要求響應快

4.4.4 發貨(DELIVERY)

  • 事務內容:對於任意一個客戶端,隨機選取一個發貨包,更新被處理訂單的用戶餘額,並把該訂單從新訂單中刪除
  • 主要特點:讀寫頻率低,較寬鬆的響應時間

4.4.5 庫存狀態查詢(STOCK-LEVEL)

  • 事物內容:對於任意一個客戶端,從固定的倉庫和轄區隨機選取最後幾條訂單,查看訂單中所有的貨物的庫存,計算並顯示所有庫存低於隨機生成域值的商品數量
  • 主要特點:重量級,只讀頻率低,較寬鬆的響應時間

五、SPECJBB 基準鬆散的遵循 TPC-C 規範

  • SPECjbb2005受TPC-C基準測試的啓發,在模式、輸入生成和事務概要方面鬆散地遵循TPC-C規範,其中在事務方面增加了一種Cust Report(客戶報告),共 5+1=6 種事務
  • 用以下Java 類取代數據庫中的表 table
    WareHouse.java 倉庫
    District.java 區域/地區
    Customer.java 客戶,客戶購買商品,客戶屬於某個district
    Item.java 產品
    Stock.java 庫存
    Order.java 訂單
    OrderLine.java 訂單詳情
    NewOrder.java 訂單在倉庫、區域關聯表
    History.java 歷史記錄
  • 最小數據庫要求:warehouse倉庫>= 8;District地區>=5;Customer用戶>=30

5.1 SPECJBB 中間結果

事務CountTotalMinMaxAvgHeap Space
New Order:           total
Payment:           used
OrderStatus:            
Delivery:            
Stock Level:            
Cust Report:            

throughput = …

表示有關 線程/倉庫 在該點完成的信息:
每種事務類型的數字結果(0-5);
Count:計數是在運行此倉庫數期間完成的每種類型的事務數;
Total:總計是此類事務中花費的總時間,因此 Avg 爲"總計/計數";
Min:最小是每種事務的最小響應時間;
Max:最大是每種事務的最大響應時間;
Avg:平均是每種事務的平均響應時間;
Heap Space:堆大小,分爲 total 總大小和 used 已使用大小
throughput:結果是計數 Count 除以秒數的總和

六、SPECJBB 原理分析

6.1 組件等說明

  • SPECjbb2005 基準的組件由控制器 Controller (Ctr)、事務注入器 Transaction Injector(s) (TxI)和後端 Backend(s) (BE)組成,這三個組件可以在一個JVM裏運行,也可以分別運行在不同的JVM中
    控制器:控制文件輸出;事務注入器:發出請求,跟蹤響應時間;後端:字節碼轉換爲機器指令
  • 其他說明:
    SPECjbb 是完全自包含和自驅動的(生成自己的數據,生成自己的多線程操作,並且不依賴於JRE以外的任何包,只有jbb.jar和check.jar)
    SPECjbb 2005 當前Java級別爲 Java5.0,基準測試包括 JDK 語言級別的幾個特性,一些集合數據結構已成爲通用的,源代碼包含自動裝箱和枚舉類型的幾種用法;
    事務日誌通過使用 Java5.0 的 JAXPXML 功能構建和編寫DOM對象來完成;
    還可以部署幾個JRE實例,每個實例在自己的數據表上獨立地處理事務負載

6.2 兩個性能指標

  • SPECjbb2005 bops:業務操作/秒,通過從預期倉庫峯值數對 SPECjbb2005 運行中的總交易速率進行平均計算
  • SPECjbb2005 bops/JVM:每個JVM 實例的平均吞吐量
  • SPECjbb2005 bops 指標測量所有 JVM 在基準運行中實現的總吞吐量;SPECjbb2005 bops/JVM 反映了單個 JVM 對總體指標的貢獻,因此是單個 JVM 性能和擴展的度量
  • 指標的計算取決於預期倉庫峯值,而不是實際倉庫峯值
    因爲隨着開發系統的預期峯值越來越大,特別是在測量週期之外沒有 System.gc() 調用的話,在任何給定系統上可能出現 SPECjbb2005 峯值運行的倉庫數量差異更大,爲了增加可預測性,SPECjbb2005 bops 指標使用預期倉庫峯值進行計算

6.3 運行原理

  • SPECjbb 在運行時利用多個特殊數據組和多個線程,每個數據單元分別是一個 warehouse 倉庫,存儲在多個集合(HashMap、TreeMap)的許多對象中,每個線程均表示一個將事務請求記入倉庫的活動用戶基準運行從一個倉庫開始,用戶發起一組操作,例如下新訂單或請求查詢現有訂單的狀態,公司內部會生成其他操作,例如處理交貨訂單、輸入客戶付款、查詢庫存狀態,以及請求提供有關給定客戶最近活動的報告,然後增加倉庫數,使服務器的處理器容量飽和,在倉庫數增加時,線程數也會隨之增加,基準的結果(即兩個指標)描述了服務器的吞吐量:SPECjbb2005 bops(業務操作/秒,通過從預期倉庫峯值數對 SPECjbb2005 運行中的總交易速率進行平均計算);每個JVM 實例的平均吞吐量,SPECjbb2005 bops/JVM
  • 主基準測試循環由一組用戶線程運行,每個線程運行 TransactionManager.go(),由運行 Company.displayResultTotals 的主線線程控制。每個用戶線程都在運行while循環,執行一系列隨機事務,先對倉庫進行30秒的測量,直到達到預期的峯值,然後每個倉庫測量240秒(4分鐘),每個線程收集和寫入事務數據以供將來參考。在具有多個倉庫的單個JVM運行中,啓動時間是測量週期的一部分,由於測量間隔較短,在預期倉庫峯值之前可能會看到不穩定的結果
  • 以上爲單JVM模式,如果是多JVM模式:
    則有一個 3 秒的初始爬升週期,以確保在開始測量事務速率之前所有線程都在運行,還有一個20秒的下降週期。
    多 JVM 模式我猜測爲順序運行,具體結果有待商榷
    rampup and rampdown specify rampup and rampdown for multi-jvm mode only.(seconds):rampup和rampdown僅爲多 JVM 模式指定rampup和rampdown(秒)

6.3.1 單 JVM 度量計算

  • 點表示在給定數量的倉庫中完成工作的測量週期,完整的基準測試運行由一系列測量點組成,這些測量點的倉庫數量不斷增加(因此線程數量也不斷增加)
  • 所有點運行,即從 1 到 MaxWh(SPECjbb.props 倉庫中倉庫的 input.ending_number 指定MaxWh最大倉庫數量,默認爲8),必須至少運行從 1 到 8 的所有點,否則提示:INVALID:at least the points from 1 to 8 are needed for a publishable run. (無效:可發佈的運行至少需要1到8之間的點),但是不代表沒有運行結果,只是說結果無效不被認可
    對於從 1 到預期峯值 M 的倉庫數量(預期觀察到峯值的倉庫數,由 SPECjbb.prop 中的非零input.expected_peak_warehouse指定,或定義爲 Runtime.getRuntime.availableProcessors()(如果屬性設置爲 0),到達倉庫預期峯值數之前每個倉庫爲 30 秒的測量週期,達到倉庫預期峯值數之後,測量週期爲240秒(4分鐘),所有 JVM 實例一起運行這些測量週期
  • 從M到 2*M,包含倉庫的所有點的所有實例的總吞吐量,此平均值爲所取結果
  • 不運行到最多 2*M 倉庫的所有點的系統的結果仍被視爲有效
  • 對於範圍 M+1 到 2*M 的所有缺失點,在指標計算中,吞吐量被視爲0
  • 用戶可以配置要運行的應用程序實例數。當選擇多個實例時,將同時運行多個實例,最終度量值是各個實例的度量值之和。使用Socket本地套接字通信和控制器同步多個應用程序實例
  • SPECjbb 結果圖爲在水平軸上的倉庫和垂直軸上的吞吐量以及每個 JVM 的所有測量點的吞吐量圖。報告從 1 到最大值 8 或 MaxWh 的所有點,M+1 到 2*M 範圍內的缺失點將報告吞吐量爲0

七、SPECJBB 源碼概述

7.1 運行簡述

  1. 檢查JVM環境;
  2. 從SPECjbb.props中加載屬性,並獲取基本配置屬性;
  3. 指明輸出結果路徑;
  4. 檢查jar文件;
  5. 檢查運行是否有效;
  6. 模擬執行:
    模擬建立Company公司,加載各倉庫,每增加一個倉庫則增加一個線程,獲取前後測量時間,計算倉庫最小最大交易量,獲取不同事務對應結果,獲取吞吐量
  7. 生成報告:
    包含綜合吞吐量SPECjbb2005 bops與SPECjbb2005 bops/JVM;結果有效性判斷;軟硬件信息;測試彙總

7.2 結構說明

  • jbb.jar:主要處理活動以及基準的後期處理相關代碼
  • check.jar:有效性檢查和驗證代碼
  • /src/spec/ reporter:包含SPECjbb2005 reporter的文件,它將基準輸出格式化爲各種可能的報告
  • /src/spec/jbb:包含主基準代碼
  • /src/spec/jbb/validity:包含對JVM與語言規則的一致性進行有限檢查的文件
  • /src/spec/jbb/infra/Util:包含定義事務日誌對象的代碼,這些對象被實現爲 XMLDOM 對象

7.3 類圖表示





7.4 相關類說明

  • 數據庫是一個 Company 的數據庫,由定義的類的實例 Company.java 表示;有不同數量的倉庫對象,如所定義的倉庫 Warehouse.java,每一個倉庫對應不同地區 District.java,地區有相關地址 Address.java
  • Company 有三個主要的數據表,Item table、CustomerTable 和 CustomerbyLastNameTable。每個倉庫對象都有自己的 StockTable 和HistoryTable。每個地區都有自己的 OrderTable 和 NewOrderTable。所有表都是 JBBDataStorage 或 JBBSortedDataStorage 的實例
  • 模擬 Company 數據庫的表中字段的底層數據結構可以在Item.java, Stock.java, Customer.java., Address.java中查看
  • Order.java 以及 NewOrder.java 定義表示驅動事務訂單的訂單對象
  • 有 5+1 種類型不同的交易事務在 NewOrderTransaction.java,OrderStatusTransaction.java,DeliveryTransaction.java,PaymentTransaction.java,StockLevelTransaction.java,CustomerReportTransaction.java 中定義

7.5 屬性文件

  • SPECjbb2005 將兩個屬性文件作爲輸入:控件屬性文件和描述性屬性文件。控件屬性文件用於修改基準的操作,例如更改測量間隔的長度。描述性屬性文件用於記錄正在測試的系統,此文件是可發佈結果所需的,並反映在輸出文件中,描述性屬性的值不會影響工作負荷

7.5.1 描述性屬性文件

  • 描述性屬性文件的名稱在控件屬性文件中指定,使用input.include_file。包中包含的示例控件屬性文件中分佈的默認名稱是 SPECjbb_config.props

7.5.2 控件屬性文件

  • 控件屬性文件的默認名稱爲 SPECjbb.props,但可使用 -propfile 命令行選項用其他名稱覆蓋
  • 控制屬性文件允許修改三種不同的基準行爲:運行長度、倉庫序列和垃圾回收行爲。基準測試可以試驗任何這些行爲,但對於可發佈的結果,對修改有限制。控件屬性文件還包含指定基準名稱的屬性,但不應更改此屬性

7.5.2.1 運行長度

  • The length of the run is controlled by the properties: input.per_jvm_warehouse_rampup, input.per_jvm_warehouse_rampdown specifies, in seconds the ramp up and ramp down time for each JVM instance, input.ramp_up_seconds, input.measurement_seconds, and input.expected_peak_warehouse. input.ramp_up_seconds specifies, in seconds, the length of each warehouse interval before the expected_peak_warehous, and input.measurement_seconds specifies, in seconds, the length of each warehouse from there on… For a result to be publishable input.ramp_up_seconds must be 30 and input.measurement_seconds must be 240.
  • 簡單來說就是 input.starting_number_warehouses,input.increment_number_warehouses,input.ending_number_warehouses,input.expected_peak_warehouse分別表示起始倉庫數量、倉庫增量、結束倉庫數量、預期倉庫數量峯值,到達倉庫預期峯值數之前每個倉庫爲input.ramp_up_seconds = 30 秒的測量週期,達到倉庫預期峯值數之後,測量週期爲 input.measurement_seconds = 240s ,即4分鐘;如果是多 JVM ,則有一個 input.per_jvm_warehouse_rampup 初始爬升週期,以確保在開始測量事務速率之前所有線程都在運行,還有一個 input.per_jvm_warehouse_rampdown 下降週期

7.5.2.2 倉庫序列

  • Warehouse sequence may be controlled in either of two ways. The usual method for specifying warehouse sequence is the set of three properties, input.starting_number_warehouses, input.increment_number_warehouses, and input.ending_number_warehouses , which causes the sequence of warehouses to progress from input.starting_number_warehouses to input.ending_number_warehouses, incrementing by input.increment_number_warehouses. The alternative method of specifying warehouse sequence is input.sequence_of_number_of_warehouses, which allows specification of an arbitrary list of positive integers in increasing order. For a publishable result the warehouse sequence must begin at 1 and increment by 1 . See Section 4.1 for a discussion of requirements on the total number of warehouses that must be run.
  • 簡單來說就是指定倉庫序列的常用方法是三個屬性(input.starting_number_warehouses、input.increment_number_warehouses 和 input.ending_number_warehouses),這會導致倉庫序列從 input.starting_number_warehouses 到input.ending_number_warehouses,增量爲 input.increment_number_warehouses。指定倉庫序列的替代方法是input.sequence_of_number_of_warehouses,它允許按增加順序指定正整數的任意列表,對於可發佈的結果,倉庫序列必須從 1 開始,然後遞增 1

7.6 結果文件

  • 基準運行將生成一個原始文件預 JVM 實例,原始文件將放在結果目錄的子目錄中,其名稱爲SPECjbb.xxx其中 xxx 是數字後綴。該子目錄中的 SPECjbb.y.raw(y是數字,每個 JVM 實例有一個)文件包含來自屬性文件的所有輸入和測試結果,報告器工具使用此文件生成所有其他文件格式

八、影響測試性能的關鍵

  1. JVM
  2. JIT(Java程序最初是通過解釋器進行解釋執行的,當虛擬機發現某個方法或代碼塊的運行特別頻繁時,就會把這些代碼認定爲“熱點代碼”。爲了提高熱點代碼的執行效率,在運行時,虛擬機將會把這些代碼編譯成與本地平臺相關的機器碼,並進行各種層次的優化,完成這個任務的編譯器稱爲即時編譯器)
  3. Garbage Collection(SPECjbb2005 現在不包括基準的主要部分中的 System.GC 調用,其目的是反映長時間運行的應用程序的行爲,而不是週期性的中斷System.GC回調)
  4. Thread
  5. 操作系統的內核處理
  6. CPU的整型處理能力、Cache的大小、內存大小和結構
  7. 服務器對稱多處理SMP的線性擴展能力(複用處理器的能力)

九、單JVM默認測試

本人使用虛擬機進行以下測試,結果存在誤差

9.1 查看 SPECJBB.PROPS 默認配置屬性

#input.expected_peak_warehouse =0沒有指定預期倉庫峯值數量,默認爲4

input.starting_number_warehouses=0

input.increment_number_warehouses=1

input.ending_number_warehouses=8

input.sequence_of_number_of_warehouses=1 2 3 4 5 6 7 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

9.2 執行命令

./run.sh
  • 1




輸出信息較長,只展示部分輸出,詳情請參考9.4節…

9.3 RUN.SH 腳本信息

##
## This is an example of what a run sh script might look like
##

date
echo $CLASSPATH
CLASSPATH=./jbb.jar:./check.jar:$CLASSPATH
echo $CLASSPATH
export CLASSPATH
export LD_LIBRARY_PATH=$THORDIR/lib

JAVA=java路徑
$JAVA -fullversion

$JAVA -Xms2048m -Xmx2048m spec.jbb.JBBmain -propfile SPECjbb.props
 
date
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

這裏關於-Xms2048m -Xmx2048m需要注意,-Xmx3550m表示設置JVM最大可用內存爲3550M,-Xms3550m表示設置JVM促使內存爲3550m,此值可以設置與-Xmx相同,以避免每次垃圾回收完成後JVM重新分配內存,且這裏設置內存大小標準爲,不要超過服務器內存的80%,超過後性能會降低,如果分配內存過少,性能也會較低

9.4 執行 RUN.SH 之後的全部輸出信息

Opened results/SPECjbbSingleJVM/SPECjbb.019.results
Opened results/SPECjbbSingleJVM/SPECjbb.019.raw

Licensed Materials - Property of SPEC
SPECjbb2005
Copyright (c) 2005 Standard Performance Evaluation Corporation (SPEC),All rights reserved,

Benchmark SPECjbb2005 1.07 now Opening

jar validity is true


Checking whether run will be valid

Run will be COMPLIANT

Constructing the company now   Hang....on


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Loading Warehouse 1...


Start User Threads
  started user thread for Warehouse 1
Timing Measurement began Fri Jan 15 14:10:32 CST 2021 for 0.5 minutes
Timing Measurement ended Fri Jan 15 14:11:02 CST 2021


Calculating results

Minimum transactions by a warehouse = 764844
Maximum transactions by a warehouse = 764844
Difference (thread spread) = 0 (0%)

===============================================================================
TOTALS FOR: COMPANY with 1 warehouses
................. SPECjbb2005 1.07 Results (time in seconds) .................
                   Count     Total    Min     Max     Avg    Heap Space
    New Order:    335979      9.29   0.000   1.117   0.000   total     1988.5MB
      Payment:    231770      4.55   0.000   0.236   0.000    used      155.8MB
  OrderStatus:     23177      0.44   0.000   0.107   0.000
     Delivery:     23177      7.24   0.000   0.947   0.000
  Stock Level:     23177      0.62   0.000   0.049   0.000
  Cust Report:    127564      7.38   0.000   0.524   0.000

           throughput =      25441.37 SPECjbb2005 bops

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Loading Warehouse 2...


Start User Threads
  started user thread for Warehouse 1
  started user thread for Warehouse 2
Timing Measurement began Fri Jan 15 14:11:03 CST 2021 for 0.5 minutes
Timing Measurement ended Fri Jan 15 14:11:33 CST 2021


Calculating results

Minimum transactions by a warehouse = 1102759
Maximum transactions by a warehouse = 1113824
Difference (thread spread) = 11065 (0.99%)

===============================================================================
TOTALS FOR: COMPANY with 2 warehouses
................. SPECjbb2005 1.07 Results (time in seconds) .................
                   Count     Total    Min     Max     Avg    Heap Space
    New Order:    973939     14.24   0.000   0.461   0.000   total     2032.0MB
      Payment:    671690      5.76   0.000   0.020   0.000    used      173.8MB
  OrderStatus:     67169      0.85   0.000   0.005   0.000
     Delivery:     67168     21.69   0.000   0.117   0.000
  Stock Level:     67170      1.28   0.000   0.005   0.000
  Cust Report:    369447     14.90   0.000   0.013   0.000

           throughput =      73881.17 SPECjbb2005 bops

++++++++++++++++++++++++++++++++++++
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章