0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RISC-V公測(cè)平臺(tái)發(fā)布 使用YCSB測(cè)試SG2042上的MySQL性能

澎峰科技PerfXLab ? 來源:澎峰科技PerfXLab ? 作者:澎峰科技PerfXLab ? 2023-08-10 19:15 ? 次閱讀

實(shí)驗(yàn)介紹:

YCSB(全稱為Yahoo! Cloud Serving Benchmark),該性能測(cè)試工具由Java語(yǔ)言編寫(在之前的MC文章中也提到過這個(gè),如果沒看過的讀者可以去看看之前MC那一期),主要用于云端或者服務(wù)器端的數(shù)據(jù)庫(kù)性能測(cè)試工具,其內(nèi)部涵蓋了常見的NoSQL數(shù)據(jù)庫(kù)產(chǎn)品,如Cassandra、MongoDB、HBase、Redis等等。

MySQL數(shù)據(jù)庫(kù)服務(wù)是一個(gè)完全托管的數(shù)據(jù)庫(kù)服務(wù),可使用世界上最受歡迎的開源數(shù)據(jù)庫(kù)來部署云原生應(yīng)用程序。它是百分百由MySQL原廠開發(fā),管理和提供支持。

當(dāng)然,本次實(shí)驗(yàn)所用到的平臺(tái)還是衡山-2(HS-2)RISC-V通用主板,該主板是一款專為開發(fā)者設(shè)計(jì)的標(biāo)準(zhǔn)mATX主板,該主板最高支持128GB內(nèi)存,通過類似PC的豐富的接口和較強(qiáng)的兼容性,賦予開發(fā)者桌面級(jí)的RISC-V開發(fā)體驗(yàn)。

HS-2主板搭載了一顆國(guó)產(chǎn)的服務(wù)器級(jí)RISC-V 64核處理器(SG2042)。SG2042是目前已量產(chǎn)的性能最高的RISC-V處理器,主要針對(duì)高性能計(jì)算領(lǐng)域需求設(shè)計(jì),適用于科學(xué)計(jì)算、工程計(jì)算、AI計(jì)算、融合計(jì)算等大算力應(yīng)用場(chǎng)景。

實(shí)驗(yàn)材料:

MySQL/MySQL源代碼

一臺(tái)SG2042服務(wù)器(HS-2)

TPCC源代碼

YCSB源代碼

JDK(本教程使用系統(tǒng)自帶的JDK 11)

實(shí)驗(yàn)過程:

安裝MySQL:

方式一:直接通過apt安裝

sudo apt install mysql-server

方式二:編譯安裝(此路不通)

下載源碼

wget

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.34.tar.gz

如果wget太慢,可以先提前下載到電腦上,然后再傳到服務(wù)器上。

解壓并進(jìn)入


tar -xzvf mysql-8.0.34.tar.gz
cd mysql-8.0.34/
mkdir build
cd build/

由于MySQL需要boost,而且直接下載boost比較慢,因此我們選擇手動(dòng)下載boost

https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.gz

解壓

tar -xzvf boost_1_77_0.tar.gz

回到mysql的build文件夾下:

cd mysql-8.0.34/build/

運(yùn)行cmake


sudo cmake .. -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci 
-DENABLED_LOCAL_INFILE=ON                                    -DWITH_SSL=system 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/server  -DMYSQL_DATADIR=/usr/local/mysql/data 
-DMYSQL_TCP_PORT=3306                                        -DDOWNLOAD_BOOST=0 
-DWITH_BOOST=/home/perfxlab01/boost_1_77_0/

編譯并安裝

sudo make -j64

結(jié)果提示SHM_Buffer.hpp上的代碼報(bào)錯(cuò),后來發(fā)現(xiàn)當(dāng)時(shí)不支持RISC-V平臺(tái)編譯,因此在此建議還是通過包管理器安裝mysql。

注意,如果是之前已經(jīng)卸載并重裝過mysql,如果出現(xiàn)sock無法訪問,請(qǐng)參考:

https://stackoverflow.com/questions/70813122/getting-error-mysql-service-failed-because-the-control-process-exited-with-erro

如果提示mysql.cnf出錯(cuò),只要執(zhí)行以下命令即可修復(fù)。


sudo touch /etc/mysql/mysql.cnf(新建mysql.cnf文件)
sudo dpkg --configure -a(重新配置)

初始化設(shè)置:

sudo mysql_secure_installation
wKgZomTUwCaACIfzAACfjZ3-_y8194.png

發(fā)現(xiàn)沒有權(quán)限

進(jìn)入mysql

sudo mysql

執(zhí)行以下命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '[你想設(shè)置的密碼]';

然后退出mysql shell

接下來我們運(yùn)行YCSB測(cè)試

獲取YCSB

https://hub.yzuu.cf/brianfrankcooper/YCSB/releases/download/0.17.0/ycsb-0.17.0.tar.gz

https://github.com/brianfrankcooper/YCSB/releases/download/0.17.0/ycsb-0.17.0.tar.gz

如果wget下載太慢的話可以先在電腦上使用多線程下載工具下載到電腦上,然后上傳到服務(wù)器上

傳到服務(wù)器上后解壓:

tar -xzvf ycsb-0.17.0.tar.gz

進(jìn)入YCSB文件夾

cd ycsb-0.17.0/

由于YCSB使用的Java語(yǔ)言編寫,因此我們還需要JDK。不過系統(tǒng)以已經(jīng)提前提供了JDK11,因此無需另外安裝JDK。

登錄數(shù)據(jù)庫(kù),創(chuàng)建數(shù)據(jù)庫(kù)和表:


create database ycsb;
use ycsb;
CREATE TABLE usertable (
YCSB_KEY VARCHAR(255) PRIMARY KEY,
FIELD0 TEXT, FIELD1 TEXT,
FIELD2 TEXT, FIELD3 TEXT,
FIELD4 TEXT, FIELD5 TEXT,
FIELD6 TEXT, FIELD7 TEXT,
FIELD8 TEXT, FIELD9 TEXT
);
wKgZomTUwGaAK5RTAAATWyGzu7Y975.png

編輯db.properties

cd jdbc-binding/conf/
mv db.properties db.properties.bak
vim db.properties

db.properties內(nèi)容如下:


db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/ycsb
db.user=root
db.passwd=[你的密碼]

然后下載所需要的數(shù)據(jù)庫(kù)驅(qū)動(dòng)

wget

https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-j-8.0.33.tar.gz

解壓并將驅(qū)動(dòng)安裝到指定文件夾下:


tar -xzvf mysql-connector-j-8.0.33.tar.gz 
cp mysql-connector-j-8.0.33/mysql-connector-j-8.0.33.jar ~/ycsb-0.17.0/jdbc-binding/lib/

載入數(shù)據(jù):

bin/ycsb load jdbc -P workloads/workloada -P ./jdbc-binding/conf/db.properties 
-cp ./jdbc-binding/lib/mysql-connector-j-8.0.33.jar

然后就是跑分時(shí)間:


bin/ycsb run jdbc -P workloads/workloada -P ./jdbc-binding/conf/db.properties 
-cp ./jdbc-binding/lib/mysql-connector-j-8.0.33.jar

(上面兩個(gè)步驟時(shí)間比較長(zhǎng),可以在等的時(shí)候順便泡杯咖啡或者看一會(huì)番等等)

如果提示Python報(bào)錯(cuò),那是因?yàn)閅CSB使用的是Python 2代碼,雖然有人試圖將Python3支持與主倉(cāng)庫(kù)合并,但是卻一直沒有被合并進(jìn)去(0.17.0依舊還是使用Python 2)。

先安裝python2


sudo apt install python2

更改鏈接


sudo rm /usr/bin/python
sudo ln -s /usr/bin/python2 /usr/bin/python

測(cè)試一下:


python --version

如果提示Python 2.7.18那就說明已經(jīng)成功將鏈接改到python 2了。

然后重新嘗試執(zhí)行載入數(shù)據(jù)并跑分

跑分結(jié)果:


[OVERALL], RunTime(ms), 1180970
[OVERALL], Throughput(ops/sec), 84.67615604122035
[TOTAL_GCS_Copy], Count, 127
[TOTAL_GC_TIME_Copy], Time(ms), 2214
[TOTAL_GC_TIME_%_Copy], Time(%), 0.18747300947526185
[TOTAL_GCS_MarkSweepCompact], Count, 6
[TOTAL_GC_TIME_MarkSweepCompact], Time(ms), 526
[TOTAL_GC_TIME_%_MarkSweepCompact], Time(%), 0.044539658077681905
[TOTAL_GCs], Count, 133
[TOTAL_GC_TIME], Time(ms), 2740
[TOTAL_GC_TIME_%], Time(%), 0.23201266755294375
[READ], Operations, 49947
[READ], AverageLatency(us), 1485119.70881134
[READ], MinLatency(us), 20192
[READ], MaxLatency(us), 66584575
[READ], 95thPercentileLatency(us), 3217407
[READ], 99thPercentileLatency(us), 3725311
[READ], Return=OK, 49947
[CLEANUP], Operations, 100
[CLEANUP], AverageLatency(us), 207285.48
[CLEANUP], MinLatency(us), 4828
[CLEANUP], MaxLatency(us), 6111231
[CLEANUP], 95thPercentileLatency(us), 999935
[CLEANUP], 99thPercentileLatency(us), 1299455
[UPDATE], Operations, 50053
[UPDATE], AverageLatency(us), 609746.7518030887
[UPDATE], MinLatency(us), 22224
[UPDATE], MaxLatency(us), 2666495
[UPDATE], 95thPercentileLatency(us), 1309695
[UPDATE], 99thPercentileLatency(us), 1539071
[UPDATE], Return=OK, 50053

總結(jié):從跑分結(jié)果來看,SG2042在數(shù)據(jù)庫(kù)應(yīng)用方面還是比較不錯(cuò)的,但是由于YCSB使用的是Python 2,而Python 2已于2020年1月1日停止支持,因此也希望YCSM盡快遷移到Python 3上。

參考資料

MySQL中文官網(wǎng):

https://www.mysql.com/cn/

YCSB的jdbc文檔

https://github.com/brianfrankcooper/YCSB/tree/master/jdbc

Port ycsb to Python3 and also make it Python2 compatible #1421(Github)

https://github.com/brianfrankcooper/YCSB/pull/1421

MySQL server fails to build on RISC-V 64

https://bugs.mysql.com/bug.php?id=100356

正文完


  • About HS-2

HS-2 RISC-V通用主板是澎峰科技與合作伙伴共同研發(fā)的一款專為開發(fā)者設(shè)計(jì)的標(biāo)準(zhǔn)mATX主板,它預(yù)裝了澎峰科技為RISC-V高性能服務(wù)器定制開發(fā)的軟件包,包括各種標(biāo)準(zhǔn)bencmark、支持V擴(kuò)展的GCC編譯器、計(jì)算庫(kù)、中間件以及多種典型服務(wù)器應(yīng)用程序。

HS-2 RISC-V通用主板搭載了一顆國(guó)產(chǎn)RISC-V 64核處理器(SG2042)。SG2042是目前已量產(chǎn)的性能最高的RISC-V處理器,主要針對(duì)高性能計(jì)算領(lǐng)域需求設(shè)計(jì),適用于科學(xué)計(jì)算、工程計(jì)算、AI計(jì)算、融合計(jì)算等大算力應(yīng)用場(chǎng)景。

wKgZomTUwSaACzXRAAZ34cPcisY858.png
  • 關(guān)于RISC-V公共測(cè)試平臺(tái)
wKgZomTUwUSAa2dyAA2V8stwnBo166.png

RISC-V高性能處理器公共測(cè)試云平臺(tái) ·快速使用指南,下載鏈接:https://www.kdocs.cn/l/cmnYcyFIlVRx

  • RISC-V公共測(cè)試云平臺(tái)系列文章

1. RISC-V公測(cè)平臺(tái)發(fā)布 ·Stream帶寬完整測(cè)試

2. RISC-V公測(cè)平臺(tái)發(fā)布 · 我的世界MohistMC

3. RISC-V公測(cè)平臺(tái)發(fā)布 · 第一個(gè)WEB Server“Hello RISC-V world!”

4. RISC-V公測(cè)平臺(tái)發(fā)布 ·如何在SG2042上玩轉(zhuǎn)k3s

5. “RISC-V成長(zhǎng)日記” blog發(fā)布,第一個(gè)運(yùn)行在RISC-V服務(wù)器上的blog?

6. RISC-V公測(cè)平臺(tái)發(fā)布:如何在SG2042上玩轉(zhuǎn)OpenMPI

7. RISC-V公測(cè)平臺(tái)發(fā)布:Compiling The Fedora Linux Kernel Natively on RISC-V

8. RISC-V公測(cè)平臺(tái)發(fā)布 · Unix Bench完整測(cè)試

9. RISC-V公測(cè)平臺(tái)發(fā)布 · 使用YCSB測(cè)試SG2042上的MySQL性能(本篇)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2946

    瀏覽量

    104366
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    792

    瀏覽量

    26351
  • RISC-V
    +關(guān)注

    關(guān)注

    44

    文章

    2178

    瀏覽量

    45893
  • 澎峰科技
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    3150
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未來 !

    ,貢獻(xiàn)內(nèi)容,在社交媒體推廣RISC-V。加入我們,共同發(fā)展RISC-V社區(qū),傳播RISC-V的消息!成為RISC-VAdvocate的好處
    的頭像 發(fā)表于 09-10 08:08 ?232次閱讀
    加入全球 <b class='flag-5'>RISC-V</b> Advocate 行列,共筑 <b class='flag-5'>RISC-V</b> 的未來 !

    中國(guó)電信“北海”RISC-V云計(jì)算試驗(yàn)平臺(tái)發(fā)布

    首個(gè)RISC-V云計(jì)算試驗(yàn)平臺(tái)“北?!薄4舜?b class='flag-5'>發(fā)布活動(dòng)得到了RVEI戰(zhàn)略指導(dǎo)委員會(huì)主任、中國(guó)工程院院士倪光南的鼎力支持與親自參與,彰顯了“北?!?b class='flag-5'>平臺(tái)在
    的頭像 發(fā)表于 08-28 16:06 ?805次閱讀

    2024 RISC-V 中國(guó)峰會(huì):華秋電子助力RISC-V生態(tài)!

    、生態(tài)伙伴、公開課、開發(fā)者社區(qū)、評(píng)測(cè)試用等欄目,是為各生態(tài)廠商量身定制的硬件開發(fā)平臺(tái),通過線上社區(qū)+一站式供應(yīng)鏈服務(wù)讓硬件開發(fā)變得更簡(jiǎn)單。他表示,RISC-V開放平臺(tái)已吸引30+廠商入
    發(fā)表于 08-26 16:46

    Imagination CPU 系列研討會(huì) | RISC-V 平臺(tái)性能分析和調(diào)試

    為了讓開發(fā)者及工程師深入了解Imagination的CPU產(chǎn)品及相關(guān)解決方案,Imagination將陸續(xù)推出5期線上研討會(huì),包含:RISC-V平臺(tái)性能分析和調(diào)試;RISC-V安全和
    的頭像 發(fā)表于 08-10 08:28 ?203次閱讀
    Imagination CPU 系列研討會(huì) | <b class='flag-5'>RISC-V</b> <b class='flag-5'>平臺(tái)</b>的<b class='flag-5'>性能</b>分析和調(diào)試

    risc-v的發(fā)展歷史

    Foundation),旨在促進(jìn)RISC-V架構(gòu)的發(fā)展和推廣。該基金會(huì)由大量的企業(yè)和機(jī)構(gòu)支持,包括英特爾、Nvidia、谷歌、華為、IBM、紅帽、西部數(shù)據(jù)等。 2015年:RISC-V基金會(huì)發(fā)布了第一個(gè)穩(wěn)定版
    發(fā)表于 07-29 17:20

    rIsc-v的缺的是什么?

    RISC-V作為一種開源的指令集架構(gòu)(ISA),自其誕生以來就受到廣泛關(guān)注和應(yīng)用,但它也存在一些不足之處。以下是RISC-V架構(gòu)目前存在的主要缺點(diǎn): 1. 性能問題 相對(duì)于專用ISA的性能
    發(fā)表于 07-29 17:18

    國(guó)產(chǎn)RISC-V芯片性能穩(wěn)定嗎?

    想使用國(guó)產(chǎn)的RISC-V架構(gòu)的芯片做無人機(jī)投送快遞的方案,可行性高嗎?國(guó)產(chǎn)的RISC-V MCU穩(wěn)定么?
    發(fā)表于 05-20 15:43

    國(guó)產(chǎn)RISC-V MCU推薦

    ,可以消除外部電路的缺陷,更好地適應(yīng)外部環(huán)境的變化。因此,ESP32的批量生產(chǎn)不需要昂貴的專用Wi-Fi測(cè)試設(shè)備。 性能超凡的RISC-V MCU 有些網(wǎng)友推薦先楫的產(chǎn)品,devinfanyang認(rèn)為
    發(fā)表于 04-17 11:00

    什么是RISC-V?RISC-V的關(guān)鍵技術(shù)

    RISC-V不僅僅是一個(gè)流行語(yǔ);它建立在堅(jiān)實(shí)的技術(shù)基礎(chǔ)之上,使其有別于其他指令集架構(gòu) (ISA)。RISC-V的核心是基于精簡(jiǎn)指令集計(jì)算(RISC)原則,強(qiáng)調(diào)效率和性能
    發(fā)表于 03-26 09:34 ?3241次閱讀

    什么是RISC-V

    siFive搞RISC-V 賽昉搞RISC-V 香山搞RISC-V 到底什么是RISC-V? 先不問有什么用,RISC-V目前的能力來說,工
    發(fā)表于 02-02 10:41

    潤(rùn)開鴻基于高性能RISC-V開源架構(gòu)DAYU800通過OpenHarmony兼容性測(cè)評(píng)

    近期,江蘇潤(rùn)開鴻數(shù)字科技有限公司(以下簡(jiǎn)稱“潤(rùn)開鴻”)基于高性能RISC-V開源架構(gòu)處理器研發(fā)的OpenHarmony標(biāo)準(zhǔn)系統(tǒng)開發(fā)平臺(tái)HH-SCDAYU800通過OpenHarmony 3.2.2
    發(fā)表于 12-14 17:33

    256核!賽昉發(fā)布全新RISC-V眾核子系統(tǒng)IP平臺(tái)

    (StarLink-500),一款高性能RISC-V多核子系統(tǒng)IP平臺(tái)。 本次發(fā)布,賽昉科技再次擴(kuò)充自研IP矩陣,引領(lǐng)RISC-V邁入更高
    發(fā)表于 11-29 13:37

    賽昉科技發(fā)布全新RISC-V眾核子系統(tǒng)IP平臺(tái)

    11月23日,中國(guó)RISC-V軟硬件生態(tài)領(lǐng)導(dǎo)者賽昉科技正式發(fā)布自主研發(fā)的片一致性互聯(lián)IP——昉·星鏈-700(StarLink-700),并推出基于StarLink-700和昉·天樞-90(Dubhe-90)的高
    的頭像 發(fā)表于 11-27 10:25 ?517次閱讀
    賽昉科技<b class='flag-5'>發(fā)布</b>全新<b class='flag-5'>RISC-V</b>眾核子系統(tǒng)IP<b class='flag-5'>平臺(tái)</b>

    256核!賽昉科技發(fā)布全新RISC-V眾核子系統(tǒng)IP平臺(tái)

    11月23日,中國(guó)RISC-V軟硬件生態(tài)領(lǐng)導(dǎo)者賽昉科技正式發(fā)布自主研發(fā)的片一致性互聯(lián)IP——昉·星鏈-700(StarLink-700),并推出基于StarLink-700和昉·天樞-90
    的頭像 發(fā)表于 11-24 08:19 ?438次閱讀
    256核!賽昉科技<b class='flag-5'>發(fā)布</b>全新<b class='flag-5'>RISC-V</b>眾核子系統(tǒng)IP<b class='flag-5'>平臺(tái)</b>

    安路科技發(fā)布全新FPSoC?器件,芯來RISC-V內(nèi)核助力高性能融合

    、可擴(kuò)展SoC平臺(tái)的優(yōu)勢(shì)。 DR1V90內(nèi)置RISC-V內(nèi)核為 芯來科技UX900系列RISC-V處理器內(nèi)核。 RISC-V處理器配合片
    的頭像 發(fā)表于 11-17 15:50 ?1101次閱讀
    安路科技<b class='flag-5'>發(fā)布</b>全新FPSoC?器件,芯來<b class='flag-5'>RISC-V</b>內(nèi)核助力高<b class='flag-5'>性能</b>融合