RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估

这篇具有很好参考价值的文章主要介绍了RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

上一期讲到YCSB在RISC-V服务器上对MySQL进行性能测试(RISC-V公测平台发布 · 使用YCSB测试SG2042上的MySQL性能),在这一期文章中,我们继续深入讨论RISC-V+数据库的应用。本期就继续利用HS-2平台来测试数据库软件在RISC-V服务器上的兼容性。

参与此次实验的数据库如下:

Redis

MongoDB5

PostgreSQL

TiDB

MySQL/MariaDB

实验机配置如下:

处理器:SG2042(64核心)

内存:32GB

操作系统:Ubuntu 22.10 (GNU/Linux 6.1.31 riscv64)

一、MySQL/MariaDB

在上一期中,为了测试YCSB(Yahoo! Cloud Serving Benchmark)性能测试软件,顺便测试了MySQL在RISC-V服务器上的兼容性。

MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。它是百分百由MySQL原厂开发,管理和提供支持。

直接使用包管理器安装MySQL:

sudo apt-get install mysql-server

当然除了包管理器安装,也尝试了编译安装MySQL,结果提示编译失败,因此,MySQL不能直接通过编译安装MySQL,而需要在编译之前打上相关补丁,然后再编译。

同时也测试了MariaDB在RISC-V服务器上的兼容性,MariaDB是一个通用的开源关系数据库管理系统。它是世界上最受欢迎的数据库服务器之一, MariaDB在GPLv2开源许可下发布,并保证保持开源。

先尝试直接通过包管理器安装:

sudo apt-get install mariadb-server

在通过包管理器安装并正常运行后,接下来就尝试通过编译安装MariaDB。

先下载MariaDB的源码包并解压:

wget

https://dlm.mariadb.com/3239838/MariaDB/mariadb-11.0.2/source/mariadb-11.0.2.tar.gz

进入MariaDB源码文件夹:

tar -xzvf mariadb-11.0.2.tar.gz 

执行cmake并编译:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/home/mariadb 
-DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci
make -j64
sudo make install -j1

 

打开配置文件并编辑:

vim /home/mariadb/my.cnf

RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估,risc-v,数据库,服务器,sg2042

启动服务器并测试是否能连接数据库服务器:

sudo /usr/local/mariadb/bin/mysqld_safe --user=mysql --skip-grant-tables
/usr/local/mariadb/bin/mariadb

RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估,risc-v,数据库,服务器,sg2042

 连接成功!

二、Redis

接下来就是Redis了,Redis全称为REmote DIctionary Server(Redis), 由 Salvatore Sanfilippo编写。是一个开源的、使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)的存储数据库,并提供多种语言的 API。

Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

通过APT安装Redis:

sudo apt install redis-server

然后启动Redis服务:

sudo servcie redis-server start

进入redis-cli:

redis-cli

如果能进入Redis Shell那就说明安装成功。

编译安装:

wget 

https://github.com/redis/redis/archive/refs/tags/7.0.12.tar.gz

解压:

tar -xzvf 7.0.12.tar.gz 

进入Redis文件夹:

cd redis-7.0.12/

编译:

make BUILD_TLS=yes USE_SYSTEMD=yes -j64

测试一下(可选):

make test

安装:

sudo make install

启动服务器:

redis-server
redis-server &(后台运行)
运行redis-benchmark压力测试(10万次请求,20个客户端),以CSV文件形式输出。
redis-benchmark -n 100000 -c 20 --csv

 结果如下:

RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估,risc-v,数据库,服务器,sg2042

 因此Redis通过APT安装和编译安装两种方式均可以。

三、MongoDB

接下来就是MongoDB,MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

通过APT安装MongoDB:

sudo apt install mongodb

结果提示不支持通过apt安装,因此我们选择源码编译安装。

下载源码包:

wget 

https://fastdl.mongodb.org/src/mongodb-src-r6.0.8.tar.gz

解压缩:

tar -xzvf mongodb-src-r6.0.8.tar.gz

进入mongodb源码文件夹:

cd mongodb-src-r6.0.8/

编译:

python3 buildscripts/scons.py install-mongod -j64

结果编译失败:

RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估,risc-v,数据库,服务器,sg2042

在安装相关的包以后,依旧无法编译。

四、PostgreSQL

然后就是PostgreSQL,PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。PostgreSQL 开发者把它念作 post-gress-Q-L。PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库"。

通过APT安装:

apt-get install postgresql postgresql-client

测试一下:

sudo -i -u postgres
psql

RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估,risc-v,数据库,服务器,sg2042

 编译安装:

下载源代码:

wget 

https://ftp.postgresql.org/pub/source/v15.3/postgresql-15.3.tar.gz

解压:

tar -xzvf postgresql-15.3.tar.gz

新建pg文件夹:

mkdir pg

进入:

cd postgresql-15.3/

配置:

./configure --prefix=/home/perfxlab01/pg

编译并安装:

make world -j64
make install-world -j64
进入~/pg/

 初始化数据库:

./bin/initdb -D ./data/

启动数据库:

bin/pg_ctl -D ./data/ -l logfile start

成功启动数据库后,接下来就是测试数据库性能了。PostgreSQL和Redis一样也自带了压力测试程序。

新建用于压力测试的数据库:

bin/psql -U postgres -h localhost
(进入psql shell)
CREATE DATABASE test;
(退出psql shell)

初始化用于压力测试的数据库:

bin/pgbench -i test

开始压力测试:

bin/pgbench -c 100 -T 300 -j 64 test

压力测试结果如下:

pgbench (15.3)
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 1
query mode: simple
number of clients: 100
number of threads: 64
maximum number of tries: 1
duration: 300 s
number of transactions actually processed: 93122
number of failed transactions: 0 (0.000%)
latency average = 322.405 ms
initial connection time = 156.199 ms
tps = 310.168586 (without initial connection time)
statement latencies in milliseconds and failures:
0.005           0  \set aid random(1, 100000 * :scale)
0.002           0  \set bid random(1, 1 * :scale)
0.002           0  \set tid random(1, 10 * :scale)
0.002           0  \set delta random(-5000, 5000)
0.201           0  BEGIN;
1.144           0  UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
0.429           0  SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
290.788           0  UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;
26.624           0  UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;
0.432           0  INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
2.556           0  END;

五、TiDB

接下来就是TiDB了,TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库。该数据库使用Go语言编写。

下载最新版的TiDB源码包以后解压并进入源码文件夹,然后编译:

tar -xzvf tidb-7.1.1.tar.gz
cd tidb-7.1.1/
make

结果编译失败:

RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估,risc-v,数据库,服务器,sg2042

同时也尝试了通过脚本安装,结果提示不支持该架构。

总结:

通过此次实验,得出了以下结果。

数据库

APT安装/脚本安装

编译安装

Redis

MongoDB

×

×

PostgreSQL

TiDB

×

×

MySQL

×

MariaDB

1、上一期我就提到MySQL不支持直接通过编译安装,只能通过打Ubuntu提供的补丁才能编译(详见MySQL server fails to build on RISC-V 64),而MariaDB通过编译安装或包管理器安装两种方式均可以。但是通过编译安装后后续要作进一步手工配置(教程见参考资料),而通过包管理器安装系统自动给你配置好,开箱即用,因此建议通过APT(包管理器)安装MySQL/MariaDB,更加省时方便。

2、目前测试的四款数据库软件中,MongoDB只有适用于Ubuntu 22.04 LTS的软件包,而TiDB无论是脚本安装还是编译安装均不支持riscv64。因此希望这两个数据库在RISC-V架构上的支持再加把劲。

3、此次兼容性测试中表现最亮眼的是PostgreSQL和Redis,这两者编译下来都挺顺利,而且还能正常运行。说明这两个数据库对riscv64的兼容性做得是非常好。尤其是PostgreSQL,之前PostgreSQL BuildFarm里有社区成员使用riscv64平台上的编译器编译成功了。因此PostgreSQL能够在riscv64平台上成功编译并运行就是必然的了。

4、Redis和PostgreSQL都自带了压力测试工具,Redis的redis-benchmark设置好压力测试参数,然后只要等测试结果出炉即可,而PostgreSQL的pgbench相比于redis-benchmark,只要在设置压力测试参数前再加创建测试数据库和初始化测试数据库这两步即可。因此,自带压力测试程序这一点,对于这两个数据库来说是加分项,因为使用自带的压力测试程序可以帮助使用者了解到该服务器在数据库方面上的性能。

参考资料:

MariaDB 简介

https://mariadb.org/zh/

Redis 教程

https://www.runoob.com/redis/redis-tutorial.html

MongoDB官网

https://www.mongodb.com/zh-cn

MongoDB开发者社区

https://www.mongodb.com/community/forums/t/when-to-upload-version-on-debian/181125

mongodb-server binary package in Ubuntu Focal riscv64

https://launchpad.net/ubuntu/focal/riscv64/mongodb-server

MySQL server fails to build on RISC-V 64

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

部署Mariadb数据库到Linux(源码编译安装)

https://www.cnblogs.com/DragonStart/p/10823222.html

PostgreSQL BuildFarm Status

https://buildfarm.postgresql.org/cgi-bin/show_status.pl

PostgreSQL BuildFarm Status History

https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=boomslang&br=REL_15_STABLE

TiDB

https://docs.pingcap.com/zh/tidb/stable

正文完


  • About HS-2

HS-2 RISC-V通用主板是澎峰科技与合作伙伴共同研发的一款专为开发者设计的标准mATX主板,它预装了澎峰科技为RISC-V高性能服务器定制开发的软件包,包括各种标准bencmark、支持V扩展的GCC编译器、计算库、中间件以及多种典型服务器应用程序。

HS-2 RISC-V通用主板搭载了一颗国产RISC-V 64核处理器(SG2042)。SG2042是目前已量产的性能最高的RISC-V处理器,主要针对高性能计算领域需求设计,适用于科学计算、工程计算、AI计算、融合计算等大算力应用场景。

RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估,risc-v,数据库,服务器,sg2042

  • 关于RISC-V公共测试平台

    RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估,risc-v,数据库,服务器,sg2042

RISC-V高性能处理器公共测试云平台 ·快速使用指南,下载链接:https://www.kdocs.cn/l/cmnYcyFIlVRx

  • RISC-V公共测试云平台系列文章

  1.  RISC-V公测平台发布 ·Stream带宽完整测试

  2.  RISC-V公测平台发布 · 我的世界MohistMC

  3.  RISC-V公测平台发布 · 第一个WEB Server“Hello RISC-V world!”

  4.  RISC-V公测平台发布 ·如何在SG2042上玩转k3s

  5. “RISC-V成长日记” blog发布,第一个运行在RISC-V服务器上的blog?

  6. RISC-V公测平台发布:如何在SG2042上玩转OpenMPI

  7. RISC-V公测平台发布:Compiling The Fedora Linux Kernel Natively on RISC-V

  8.  RISC-V公测平台发布 · Unix Bench完整测试

  9. RISC-V公测平台发布 · 使用YCSB测试SG2042上的MySQL性能

  10. RISC-V公测平台发布 · 7-zip 测试

  11. RISC-V公测平台发布 · CoreMark测试报告

  12. RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估(本篇)

欢迎投稿,发送至riscvinfo@perfxlab.com文章来源地址https://www.toymoban.com/news/detail-663436.html

到了这里,关于RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RISC-V公测平台发布:如何在SG2042上玩转OpenMPI

    HS-2 RISC-V通用主板是澎峰科技与合作伙伴共同研发的一款专为开发者设计的标准mATX主板,它预装了澎峰科技为RISC-V高性能服务器定制开发的软件包,包括各种标准bencmark、支持V扩展的GCC编译器、计算库、中间件以及多种典型服务器应用程序。 HS-2 RISC-V通用主板搭载了一颗国产

    2024年02月14日
    浏览(27)
  • RISC-V公测平台发布 · 在SG2042上配置Jupiter+Octave科学计算环境

    简介 JupyterHub是一个开源的共享计算平台,它为每个用户管理一个单独的 Jupyter 环境, 可以用于学生班级、企业数据科学小组或科学研究小组。它是一个多用户中心,可以生成、管理和代理多个单用户Jupyter笔记本服务器的实例。 GNU Octave是一种采用高级编程语言的主要用于数

    2024年02月10日
    浏览(22)
  • RISC-V云测平台:Compiling The Fedora Linux Kernel Natively on RISC-V

      注释:编译Fedora,HS-2 64核RISC-V服务器比Ryzen5700x快两倍! --- 以下是blog 正文 ---  # Compiling The Fedora Linux Kernel Natively on RISC-V ## Fedora RISC-V Support There is ongoing work to Fedora to support RISC-V hardware. As of right now the Fedora documentation officially only shows how to install the distribution on the SiFive Hi

    2024年02月13日
    浏览(28)
  • RISC-V走向开放服务器规范

    原文:RISC-V Moving Toward Open Server Specification 作者:Agam Shah 转载自:https://www.hpcwire.com/2023/07/24/risc-v-moving-toward-open-server-specification/ 中文翻译: 2023年7月24日 RISC-V International目前正在起草一份可以标准化RISC-V服务器芯片和系统开发的规范,RISC-V International是一个处理指令集架构开

    2024年02月13日
    浏览(24)
  • 腾讯云向量数据库正式对外全量开放公测

    11月1日,腾讯云对外宣布向量数据库正式全量开放公测,同时性能层面带来巨大提升。腾讯云数据库副总经理罗云表示,除了公测之外,腾讯云向量数据库单索引已经支持百亿级向量规模,支持百万级QPS毫秒级查询延迟,领先行业平均水平1.5倍以上,计算成本低于行业水平

    2024年02月06日
    浏览(34)
  • 服务器管理平台开发(2)- 设计数据库表

    本篇文章主要对数据管理平台数据库表设计进行介绍,包括单库多表设计、SQL语句、视图构造等 设备品牌、序列号、型号等使用业务主表进行记录,逻辑磁盘、PCI设备可能出现1对N的情况,分别使用PCI设备表、Mac地址表、逻辑磁盘表、应用程序表、登录日志表进行记录 构建虚

    2024年01月22日
    浏览(48)
  • 强化自主可控,润开鸿发布基于RISC-V架构的开源鸿蒙终端新品

    2023 RISC-V中国峰会于8月23日至25日在北京召开,峰会以“RISC-V生态共建”为主题,结合当下全球新形势,把握全球新时机,呈现RISC-V全球新观点、新趋势。本次大会邀请了RISC-V国际基金会、业界专家、企业代表及社区伙伴等共同探讨RISC-V发展趋势与机遇,吸引超过百余家业界企业、高

    2024年02月11日
    浏览(42)
  • RISC-V中国峰会 | 256核服务器高调亮相,谁与争锋?

    8月23日,第三届RISC-V中国峰会(RISC-V Summit China 2023)在北京香格里拉饭店正式开幕,来自世界各地的行业精英汇聚一堂,为RISC-V生态系统建言献策,凝心聚力! 中国工程院院士倪光南、RISC-V国际基金会CEO Calista Redmond、大会主席,中国科学院软件研究所副所长武延军、北京开

    2024年02月11日
    浏览(35)
  • 从零开始设计RISC-V处理器——五级流水线之数据通路的设计

    (一)从零开始设计RISC-V处理器——指令系统 (二)从零开始设计RISC-V处理器——单周期处理器的设计 (三)从零开始设计RISC-V处理器——单周期处理器的仿真 (四)从零开始设计RISC-V处理器——ALU的优化 (五)从零开始设计RISC-V处理器——五级流水线之数据通路的设计

    2024年02月08日
    浏览(33)
  • 【RISC-V】RISC-V寄存器

    寄存器 别名 全称 说明 X0 zero 零寄存器 可做源寄存器(rs)或目标寄存器(rd) X1 ra 链接寄存器 保存函数返回地址 X2 sp 栈指针寄存器 指向栈的地址 X3 gp 全局寄存器 用于链接器松弛优化 X4 tp 线程寄存器 常用于在OS中保存指向进程控制块(task_struct)数据结构的指针 X5 ~ X7 X28 ~ X31 t0

    2024年02月10日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包