基于BenchmarkSQL的OceanBase數據庫tpcc性能測試

基于BenchmarkSQL的OceanBase數據庫tpcc性能測試

  • 安裝BenchmarkSQL及其依賴
    • 安裝軟件依賴
    • 編譯BenchmarkSQL
  • BenchmarkSQL props文件配置
  • 數據庫和測試表配置
  • BenchmarkSQL壓測
    • 裝載測試數據
    • TPC-C壓測(固定事務數量)
    • TPC-C壓測(固定時長)
    • 生成測試報告
  • 重復測試流程梳理

安裝BenchmarkSQL及其依賴

軟件包作用
benchmarksql-5.0.ziptpcc性能測試
R-3.6.3.tar.gz生成壓測報告
mysql-connector-java-5.1.47MySQL連接驅動

操作系統:

[root@localhost ~]# nkvers
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Sword)Kernel:
4.19.90-25.16.v2101.ky10.x86_64Build:
Kylin Linux Advanced Server
release V10 (SP2) /(Sword)-x86_64-Build09/20210524
#################################################

安裝軟件依賴

檢查JDK版本是否為1.8:

java -version

安裝依賴軟件包:

yum install -y glibc-common
yum install gcc glibc-headers gcc-c++ gcc-gfortran readline-devel libXt-devel pcre-devel libcurl libcurl-devel -y
yum install ncurses ncurses-devel autoconf automake zlib zlib-devel bzip2 bzip2-devel xz-devel -yyum install -y numactl

報錯信息:

[FAILED] glibc-common-2.28-49.p16.ky10.x86_64.rpm: No more mirrors to try - All mirrors were already tried without success                                                                                                                                                                                                 The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'yum clean packages'.
Error: Error downloading packages:Cannot download Packages/glibc-common-2.28-49.p16.ky10.x86_64.rpm: All mirrors were tried#解決辦法
yum install -y glibc-common

編譯安裝R語言:

yum install pango-devel pango libpng-devel cairo cairo-devel -ytar -zxf R-3.6.3.tar.gz -C /opt
cd /opt/R-3.6.3
./configure 
make && make install

檢查安裝情況:

[root@primarydb benchmarksql]# R --version
R version 3.6.3 (2020-02-29) -- "Holding the Windsock"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

安裝ant工具:

yum install -y ant
ant -version

ant命令報錯:

ant -version#報錯信息
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.h5.ky10.x86_64/lib/tools.jar#解決辦法
yum clean packages
yum install java-1.8.0-openjdk-devel -y

編譯BenchmarkSQL

解壓安裝包:

[root@primarydb ~]# unzip -qo benchmarksql-5.0.zip -d /opt
[root@primarydb ~]# cd /opt/benchmarksql-5.0/
  1. 修改benchmarksql-5.0/src/client/jTPCC.java文件,增加OceanBase數據庫相關內容:
if (iDB.equals("firebird"))dbType = DB_FIREBIRD;else if (iDB.equals("oracle"))dbType = DB_ORACLE;else if (iDB.equals("postgres"))dbType = DB_POSTGRES;else if (iDB.equals("oceanbase"))dbType = DB_OCEANBASE;else{log.error("unknown database type '" + iDB + "'");return;}
  1. 修改benchmarksql-5.0/src/client/jTPCCConfig.java文件,增加OceanBase數據庫類型:
public final static int         
DB_UNKNOWN = 0,
DB_FIREBIRD = 1,
DB_ORACLE = 2,
DB_POSTGRES = 3,
DB_OCEANBASE = 4;
  1. 修改benchmarksql-5.0/src/client/jTPCCConnection.java文件,在SQL子查詢增加AS L別名。
default:stmtStockLevelSelectLow = dbConn.prepareStatement("SELECT count(*) AS low_stock FROM (" +"    SELECT s_w_id, s_i_id, s_quantity " +"        FROM bmsql_stock " +"        WHERE s_w_id = ? AND s_quantity < ? AND s_i_id IN (" +"            SELECT ol_i_id " +"                FROM bmsql_district " +"                JOIN bmsql_order_line ON ol_w_id = d_w_id " +"                 AND ol_d_id = d_id " +"                 AND ol_o_id >= d_next_o_id - 20 " +"                 AND ol_o_id < d_next_o_id " +"                WHERE d_w_id = ? AND d_id = ? " +"        ) " +"    )AS L");break;
  1. 使用ant編譯BenchmarkSQL:
[root@zcs024kvm benchmarksql-5.0]# ant
Buildfile: /opt/benchmarksql-5.0/build.xmlinit:[mkdir] Created dir: /opt/benchmarksql-5.0/buildcompile:[javac] Compiling 11 source files to /opt/benchmarksql-5.0/builddist:[mkdir] Created dir: /opt/benchmarksql-5.0/dist

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/903161.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903161.shtml
英文地址,請注明出處:http://en.pswp.cn/news/903161.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WinForm真入門(17)——NumericUpDown控件詳解

一、基本概念? NumericUpDown 是 Windows 窗體中用于數值輸入的控件&#xff0c;由文本框和上下調節按鈕組成。用戶可通過以下方式調整數值&#xff1a; 點擊調節按鈕增減數值鍵盤直接輸入使用方向鍵調整 適用于需要限制數值范圍或精確控制的場景&#xff08;如年齡、參數配…

汽車自動駕駛介紹

0 Preface/Foreword 1 介紹 1.1 FSD FSD: Full Self-Driving&#xff0c;完全自動駕駛 &#xff08;Tesla&#xff09; 1.2 自動駕駛級別 L0 - L2&#xff1a;輔助駕駛L3&#xff1a;有條件自動駕駛L4/5 &#xff1a;高度/完全自動駕駛

AiCube 試用 - ADC 水位監測系統

AiCube 試用 - ADC 水位監測系統 水位檢測在水資源管理、城市防洪、農業灌溉、家用電器和工業生產等多領域發揮積極建設作用。利用水位傳感器&#xff0c;可以實現水資源的智能管理&#xff0c;提高生產效率。 本文介紹了擎天柱開發板利用 AiCube 工具快速創建 I/O 電壓讀取&…

秒殺壓測計劃 + Kafka 分區設計參考

文章目錄 前言&#x1f680; 秒殺壓測計劃&#xff08;TPS預估 測試流程&#xff09;1. 目標設定2. 壓測工具推薦3. 壓測命令示例&#xff08;ab版&#xff09;4. 測試關注指標 &#x1f4e6; Kafka Topic 分區設計參考表1. 單 Topic 設計2. 分區路由規則設計&#xff08;Part…

memcpy 使用指南 (C語言)

memcpy 是 C 語言標準庫中的一個重要函數&#xff0c;用于在內存區域之間復制數據。它是 <string.h> 頭文件中定義的高效內存操作函數之一。 函數原型 void *memcpy(void *dest, const void *src, size_t n); 參數說明 dest: 目標內存地址&#xff0c;數據將被復制到這…

跨境電商貨物體積與泡重計算器:高效便捷的物流計算工具

跨境電商貨物體積與泡重計算器&#xff1a;高效便捷的物流計算工具 工具簡介 貨物體積與泡重計算器是一款免費的在線工具&#xff0c;專門為物流從業者、跨境電商賣家和需要計算貨物運輸體積重量的用戶設計。這款工具可以幫助您快速計算貨物的體積和對應的空運、快遞泡重&…

如何避免爬蟲因Cookie過期導致登錄失效

1. Cookie的作用及其過期機制 1.1 什么是Cookie&#xff1f; Cookie是服務器發送到用戶瀏覽器并保存在本地的一小段數據&#xff0c;用于維持用戶會話狀態。爬蟲在模擬登錄后&#xff0c;通常需要攜帶Cookie訪問后續頁面。 1.2 Cookie為什么會過期&#xff1f; 會話Cookie&…

matlab simulink中理想變壓激磁電流容易有直流偏置的原因分析。

simulink把線性變壓器模塊拉出來&#xff0c;設置沒有繞線電阻的變壓器&#xff0c;激磁電感和Rm都有&#xff0c;然后給一個50%占空比的方波&#xff0c;幅值正負10V&#xff0c;線路中設置一個電阻&#xff0c;模擬導線阻抗。通過示波器觀察激磁電流&#xff0c;發現電阻越小…

電力系統失步解列與振蕩解析

一、基本概念解析 1. 失步&#xff08;Out-of-Step&#xff09; 在電力系統中&#xff0c;失步是指并列運行的同步發電機因功率失衡導致轉子間相對角度超過穩定極限&#xff0c;無法維持同步運行的狀態。具體表現為&#xff1a; 當系統發生短路、負荷突變或故障切除等擾動時&…

ctfhub-RCE

關于管道操作符 windows&#xff1a; 1. “|”&#xff1a;直接執行后面的語句。 2. “||”&#xff1a;如果前面的語句執行失敗&#xff0c;則執行后面的語句&#xff0c;前面的語句只能為假才行。 3. “&”&#xff1a;兩條命令都執行&#xff0c;如果前面的語句為假則直…

Missashe考研日記-day28

Missashe考研日記-day28 1 專業課408 學習時間&#xff1a;2h學習內容&#xff1a; 今天先是預習了OS關于虛擬內存管理的內容&#xff0c;然后聽了一部分視頻課&#xff0c;明天接著學。知識點回顧&#xff1a; 1.傳統存儲管理方式特征&#xff1a;一次性、駐留性。2.局部性原…

01 appium環境搭建

環境搭建 Java JDKNode.jsAndroidStudio(提供sdk)appiumappium Inspector 相關安裝包下載 鏈接&#xff1a;https://pan.xunlei.com/s/VOOf3sCttAdHvlMkc7QygsoJA1# 提取碼&#xff1a;x4s5 AndroidStudio下載安裝sdk AndroidStudio下載 安裝運行&#xff0c;配置代理及測…

指針(4)

1.回調函數 回調函數就是通過函數指針調用的函數。 將函數的指針&#xff08;地址&#xff09;作為一個參數傳遞給另一個函數&#xff0c;當這個指針被調用其所指向的函數時&#xff0c;被調用的函數就是回調函數。回調函數不是由該函數的實現方直接調用&#xff0c;而是在特…

Raptor碼的解碼成功率matlab實現

下面是使用matlab實現關于Raptor 碼解碼成功率的仿真代碼&#xff0c;并繪制成功率隨編碼符號數量變化的圖形示例。代碼中包含了 Raptor 碼的預編碼&#xff08;使用稀疏矩陣乘法模擬&#xff09;、LT 編碼、解碼過程&#xff0c;以及解碼成功率的計算和繪圖。 具體代碼如下&am…

域名系統DNS

DNS介紹 DNS是一個域名系統&#xff0c;在互聯網環境中為域名和IP地址相互映射的一個分布式數據庫 &#xff0c; 能夠使用戶更方便的訪問互聯網&#xff0c;而不用去記住能夠被機器直接讀取的IP數串。類似于生活中的114服務&#xff0c;可以通過人名找到電話號碼&#xff0c;也…

Spark Streaming核心編程總結(四)

一、有狀態轉化操作&#xff1a;UpdateStateByKey 概念與作用 UpdateStateByKey 用于在流式計算中跨批次維護狀態&#xff08;如累加統計詞頻&#xff09;。它允許基于鍵值對形式的DStream&#xff0c;通過自定義狀態更新函數&#xff0c;將歷史狀態與新數據結合&#xff0c;生…

Dijkstra 算法代碼步驟[leetcode.743網絡延遲時間]

有 n 個網絡節點&#xff0c;標記為 1 到 n。 給你一個列表 times&#xff0c;表示信號經過 有向 邊的傳遞時間。 times[i] (ui, vi, wi)&#xff0c;其中 ui 是源節點&#xff0c;vi 是目標節點&#xff0c; wi 是一個信號從源節點傳遞到目標節點的時間。 現在&#xff0c;…

【java】lambda表達式總結

目錄 一、面向對象的處理方法 二、函數式編程的處理方法 先使用匿名內部類&#xff1a; lambda改造&#xff1a; lambda改造規則 示例&#xff1a; 三、補充&#xff1a;函數式接口 大家好&#xff0c;我是jstart千語。今天總結一下lambda表達式。lambda表達式在后面的s…

AtCoder Beginner Contest 242 G - Range Pairing Query (莫隊)

每周五篇博客&#xff1a;&#xff08;5/5&#xff09; 我做到了&#xff01; https://atcoder.jp/contests/abc242/tasks/abc242_g 這題主要是想給大家提供一份莫隊的板子&#xff0c;很多莫隊題基本上填空就差不多了&#xff08; 板子 void solve() {int n;std::cin >…

淘寶商品主圖標題api接口

1、輸入淘寶商品id或者鏈接&#xff0c;點查詢 2、查詢淘寶商品主圖&#xff0c;商品標題&#xff0c;商品價格&#xff0c;賣家旺旺 3、支持api接口