当前位置: 首页 > news >正文

GCC for openEuler 数据库性能优化实践

GCC for openEuler是基于开源GCC开发的编译器工具链(包含编译器,汇编器,链接器),在openEuler社区开源发布,并通过鲲鹏社区免费提供二进制包,支持aarch64处理器架构。

关键特性

  • 支持鲲鹏微架构芯片及指令优化

  • 通过软硬协同提供相较开源GCC更高的性能

  • 高性能计算典型应用性能深度优化

  • 支持自动反馈优化,实现数据库等场景性能倍增

测试环境

CPU: 鲲鹏 920 128 core

内存:500G

硬盘:500G SSD

操作系统:openEuler 20.03

测试数据库:postgreSQL 13.6 + Yukon 1.0.1

测试工具:pgbench

测试案例

案例编号案例说明
Basic_Performance_Test_001数据更新
Basic_Performance_Test_002空间包含查询
Basic_Performance_Test_003数据写入(复制)

测试 SQL

Basic_Performance_Test_001

update t_polygon_gis set geom= ST_Buffer( ST_MakePoint(random()+117,  random()+31), 0.016)  where  id >899 and id<1000; 

Basic_Performance_Test_002

select count(*) from  public.shopserver a, bj_1 b where ST_Contains(b.smgeometry, a.smgeometry);

Basic_Performance_Test_003

create table t_polygon_gis_copy as select  id,geom from t_polygon_gis;

测试步骤

我们将通过在同一机器上测试通用 GCC 和 GCC for openEuler 对于特定场景的性能进行对比测试。

  1. 使用 GCC for openEuler 和通用 GCC 分别编译 postgreSQL 13.6 数据库

    • 创建两个独立的用户 pggcc 和 pgopengcc 用来进行测试
    • 安装通用 GCC
    • 安装 GCC for openEuler ,可参考鲲鹏社区官方文档
    • 设置环境变量,确保 pggcc 和 pgopengcc 使用正确的 GCC 程序
    • 使用 configure 配置,然后编译即可。
  2. 编译 Yukon 1.0.1

    Yukon 的编译可以参考 Yukon 的官方文档进行操作。

  3. 设置数据库参数

    • 设置数据库最大连接数为 1000
  4. 开始测试

    测试通过 pgbench 单线程和多线程结合的方式进行测试。

    pgbench 命令示例

    pgbench test -r -n -t 20 -c 100 -j 50  -U yukontest -p 25432 -P 5 -f  Business_Performance_Test_001.sql
    

    其中:

    test:测试使用的数据库

    -t 20: 每个客户端执行的事务数

    -c 100: 客户数

    -j 50: 线程数

    -U yukontest: 数据库用户名

    -p 25432: 数据库连接端口号

    -f Business_Performance_Test_001.sql: 测试案例文件

测试结果

测试案例性能提升(GCC for openEuler 对比 通用 GCC)
Basic_Performance_Test_00128.89%
Basic_Performance_Test_0027.45%
Basic_Performance_Test_00318.53%

测试结论

通过测试的结果我们可以看到,GCC for openEuler 相对于通用的 GCC 在数据库的使用中有较为明显的性能提升。最高可提升 28%。

相关文章:

GCC for openEuler 数据库性能优化实践

GCC for openEuler是基于开源GCC开发的编译器工具链&#xff08;包含编译器&#xff0c;汇编器&#xff0c;链接器&#xff09;&#xff0c;在openEuler社区开源发布&#xff0c;并通过鲲鹏社区免费提供二进制包&#xff0c;支持aarch64处理器架构。 关键特性 支持鲲鹏微架构芯…...

【C++】类和对象(第二篇)

文章目录1. 类的6个默认成员函数2. 构造函数2.1 构造函数的引出2.2 构造函数的特性3. 析构函数3.1 析构函数的引出3.2 析构函数的特性4. 拷贝构造函数4.1 概念4.2 特性5.赋值运算符重载5.1 运算符重载概念注意练习5.2 赋值重载实现赋值重载的特性6. const成员函数7. 取地址及co…...

MySQL数据库(数据库约束)

目录 数据库约束 数据库约束的类型&#xff1a; null约束 &#xff1a; unique约束&#xff08;唯一约束&#xff09;&#xff1a; default约束&#xff08;默认值约束&#xff09;&#xff1a; primary key约束&#xff08;主键约束&#xff09;&#xff1a; for…...

Hive的安装与配置

一、配置Hadoop环境先看看伪分布式下的集群环境有没有错误的情况&#xff1a;输入命令&#xff1a;start-all.sh jps查看伪分布式的所有进程是否完善二、解压并配置HiveHive压缩包→ https://pan.baidu.com/s/1eOF_ICZV8rV-CEh3nX-7Xw 提取码: m31e 复制这段内容后打开百度网盘…...

关于医院医用医疗隔离电源系统应用案例的分析探讨

【摘要】&#xff1a;介绍该三级医院采用安科瑞医用隔离电源柜&#xff0c;使用落地式安装方式&#xff0c;从而实现将TN系统转化为IT系统&#xff0c;同时监测系统绝缘情况。 【关键词】医用隔离电源柜&#xff1b;IT系统&#xff1b;绝缘情况&#xff1b;中西医结合医院&…...

【LeetCode】剑指 Offer 07. 重建二叉树 p62 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/zhong-jian-er-cha-shu-lcof/ 1. 题目介绍&#xff08;07. 重建二叉树&#xff09; 输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的…...

ERROR 1114 (HY000): The table ‘tt2‘ is full

insert 操作时提示is full 问题原因 rootlocalhost 11:55:41 [t]>show table status from t like ‘tt2’ \G ; *************************** 1. row *************************** Name: tt2 Engine: MEMORY Version: 10 Row_format: Fixed Rows: 7056 Avg_row_length: 944…...

考了PMP证后工资大概是多少 ?(含pmp资料)

这个岗位的不同还有每个公司的薪资也是不一样的&#xff0c;具体的数字肯定是没有的&#xff0c;但大概的比例还是有的&#xff0c;据PMI调查&#xff0c;在获得PMP证书的人当中&#xff0c;在PMP认证一年后&#xff0c;年薪有所增长的比例为66%&#xff0c;上涨幅度主要集中在…...

基于国产龙芯 CPU 的气井工业网关研究与设计(一)

当前&#xff0c;我国气田的自动化控制程度还未完全普及&#xff0c;并且与世界已普及的气井站的自 动化程度也存在一定的差距。而在天然气资源相对丰富的国家&#xff0c;开采过程中设备研发资 金投入较大&#xff0c;研发周期较长&#xff0c;更新了一代又一代的自动化开采系…...

40/365 javascript 数据类型

1.数据类型 number类型&#xff1a;整数&#xff0c;小数都属于这一类&#xff0c;不具体区分 字符串&#xff1a;hello, "hello" 布尔类型&#xff1a;true,false 逻辑运算符&#xff1a; && || ! 比较运算符&#xff1a; : 类型不一致&#x…...

后勤管理系统—服务台管理功能

数图互通是一家IT类技术型软件科技公司&#xff0c;专业的不动产、工作场所、空间、固定资产、设备家具、设施运维及可持续性管理解决方案软件供应商。 一、后勤管理系统服务台管理功能包含&#xff1a; 1、专业自动化、集中管理的自助服务助理&#xff0c;随时响应服务请求。…...

Spring Boot 是什么,应该如何学习,有哪些优缺点

1、Spring Boot 是什么&#xff1f; Spring Boot是一个基于Spring框架的开源项目&#xff0c;它简化了Spring应用程序的开发过程&#xff0c;提供了一种快速、便捷、可扩展的方式来构建Spring应用程序。 Spring Boot通过自动化配置机制简化了Spring应用程序的配置过程&#x…...

使用yolov5和强化学习训练一个AI智能欢乐斗地主(一)

这里写自定义目录标题项目介绍项目过程介绍训练yolov5目标检测斗地主收集数据集yolov5调参项目介绍 你好&#xff01; 欢迎阅读我的文章&#xff0c;本章将介绍&#xff0c;如何使用yolov5和强化学习训练一个AI斗地主&#xff0c;本项目将分为三个部分&#xff0c;其中包含&am…...

C++ 浅谈之 AVL 树和红黑树

C 浅谈之 AVL 树和红黑树 HELLO&#xff0c;各位博友好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 这里是 C 浅谈系列&#xff0c;收录在专栏 C 语言中 &#x1f61c;&#x1f61c;&#x1f61c; 本系列阿呆将记录一些 C 语言重要的语法特性 &#x1f3…...

【Kotlin】Kotlin函数那么多,你会几个?

目录标准函数letrunwithapplyalsotakeIftakeUnlessrepeat小结作用域函数的区别作用域函数使用场景简化函数尾递归函数&#xff08;tailrec&#xff09;扩展函数高阶函数内联函数&#xff08;inline&#xff09;inlinenoinlinecrossinline匿名函数标准函数 Kotlin标准库包含几个…...

饲养员喂养动物-课后程序(JAVA基础案例教程-黑马程序员编著-第四章-课后作业)

【案例4-2】饲养员喂养动物 记得 关注&#xff0c;收藏&#xff0c;评论哦&#xff0c;作者将持续更新。。。。 【案例目标】 案例描述 饲养员在给动物喂食时&#xff0c;给不同的动物喂不同的食物&#xff0c;而且在每次喂食时&#xff0c;动物都会发出欢快的叫声。例如&…...

数据分析:消费者数据分析

数据分析&#xff1a;消费者数据分析 作者&#xff1a;AOAIYI 创作不易&#xff0c;如果觉得文章不错或能帮助到你学习&#xff0c;记得点赞收藏评论一下哦 文章目录数据分析&#xff1a;消费者数据分析一、前言二、数据准备三、数据预处理四、个体消费者分析五、用户消费行为总…...

Transformer论文阅读:ViT算法笔记

标题&#xff1a;An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 会议&#xff1a;ICLR2021 论文地址&#xff1a;https://openreview.net/forum?idYicbFdNTTy 文章目录Abstract1 Introduction2 Related Work3 Method3.1 Vision Transformer3.2…...

Android基础练习解答【2】

文章目录一 填空题二 判断题三 选择题四 简答题一 填空题 1&#xff0e;除了开启开发者选项之外&#xff0c;还需打开手机上的 usb调试 开关&#xff0c;然后才能在手机上调试App。 2&#xff0e;App开发的两大技术路线包括 _原生开发_和混合开发。 3&#xff0e;App工程的编译…...

k8s 搭建

需求&#xff1a;搭建k8s 为后续自动部署做准备进程&#xff1a;安装至少两个ubuntu18.04系统&#xff08;一个master 一到多个 node&#xff09;每个系统上都要装上docker 和 kubernetes安装dockersudo su apt-get update#安装相关插件 apt-get install apt-transport-https c…...

安全运维之mysql基线检查

版本加固 选择稳定版本并及时更新、打补丁。 稳定版本&#xff1a;发行6-12个月以内的偶数版本。 检查方法&#xff1a; 使用sql语句:select version(); 检查结果&#xff1a; 存在问题&#xff1a;当前数据库版本较老需要更新 解决方案&#xff1a;前往http://www.mysql…...

跨境电商卖家敦煌、雅虎、乐天、亚马逊测评自养号的重要性!

作为亚马逊、敦煌、乐天、雅虎等跨境的卖家&#xff0c;这两年以来&#xff0c;面对流量越来越贵的现实&#xff0c;卖家需要更加珍惜每次访问listing页面的流量&#xff0c;把转化做好&#xff0c;把流量尽可能转化为更多的订单。 提升转化率的技巧 提升产品转化率&#xff0…...

Python 之 Matplotlib xticks 的再次说明、图形样式和子图

文章目录一. 改变 x 轴显示内容 xticks 方法再次说明1. x 轴是数值型数据2. 将 x 轴更改为字符串3. 总结二. 其他元素可视性1. 显示网格&#xff1a;plt.grid()2. plt.gca( ) 对坐标轴的操作三. plt.rcParams 设置画图的分辨率&#xff0c;大小等信息四. 图表的样式参数设置1. …...

3.InfluxDB WEB使用

结合telegraf做指标数据收集 点击 Load Data -> Telegraf 配置界面 influxDB支持在WEB-UI中生成配置文件 然后利用telegraf通过远程URL请求的方式进行获取 点击CREATE CONFIGURATION 创建telegraf配置文件 选择Bucket InfluxDB提供了很多配置好的监控模板供用户选择 可以…...

git冲突合并

一、版本说明 dev&#xff1a;本地仓库中的dev分支 master&#xff1a;本地仓库中的master分支 remotes/origin/master和origin/master&#xff1a;都是远程仓库上的master分支 二、一个解决冲突的常规流程 1、前提条件&#xff1a;不能在master分支上修改任何文件。master分支…...

项目自动化构建工具make/Makefile

目录 make/Makefile概念和关系 make/Makefie的使用 一个工程中的源文件不计数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;makefile定义了一系列的规则来指定&#xff0c;哪些文件需要先编译&#xff0c;哪些文件需要后编译&#xff0c;哪些文件需要重…...

双目客流统计方案的应用原理

双目客流统计客流摄像头采用立体视觉技术实现高度统计功能。基于视差原理。利用双镜头摄取的两幅图像的视差&#xff0c;构建三维场景&#xff0c;在检测到运动目标后。通过计算图像对应点间的位置偏差。获取目标的三维信息&#xff0c;在深度图像中对目标的检测与追踪&#xf…...

python魔术方法(二)

__getattr__() class A:def __getattr__(self,name):print(f"getting {name}")raise AttributeErroro A() print(o.test)程序调用一个对象的属性&#xff0c;当这个属性不存的时候希望程序做些什么&#xff0c;这里我们打印希望的属性&#xff0c;并且抛出异常 __…...

cmd for命令笔记

语法 help for输出如下&#xff1a; 对一组文件中的每一个文件执行某个特定命令。 FOR %variable IN (set) DO command [command-parameters] %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 c…...

4.1 Filter-policy

1. 实验目的 熟悉Filter-policy的应用场景掌握Filter-policy的配置方法2. 实验拓扑 Filter-policy实验拓扑如图4-5所示: 图4-5:Filter-policy 3. 实验步骤 (1) 网络连通性 R1的配置 <Huawei>system-vi…...

有没有专门做针织衫的网站/廊坊网站seo

原文作者&#xff1a; 阮一峰 日期&#xff1a; 2012年10月30日 这个系列的第一部分介绍了Javascript模块的基本写法&#xff0c;今天介绍如何规范地使用模块。 &#xff08;接上文&#xff09; 七、模块的规范 先想一想&#xff0c;为什么模块很重要&#xff1f; 因为有了模块…...

做IT的需要别人打开网站吗/google搜索引擎免费入口

在splunk alert email中有一个配置是可以将查询结果的字段嵌入一个表格的: 也就是在spl中最后的table命令后面指定了哪些字段,在email引用的表格中就会把这些字段全部显示出来。但是有些情况下我们只想让表格中展示某几个字段,然后还有一些字段想用在subject中或者是语言描…...

创建网站的一般步骤/人民网舆情数据中心官网

提交合并代码流程&#xff1a; git add .git commit -m git pushgit checkout mastergit merge develop //将develop 分支与master分支合并git push //将合并的本地master分支推送到远程master转载于:https://www.cnblogs.com/xlfdqf/p/11157809.html...

wordpress教程php二次开发/万网域名查询

Centos6-MySql安装_计算机软件及应用_IT/计算机_专业资料。Centos6.4-MySql安装 步骤1: 安装相关库文件 (没有的话就安装, 有就不用安装了) # yum install ......SQL 数据库的安装 在服务器端安装 SQL 数据库的时候,选择 服务器和客户端工具; 而在客户端安装 SQL 数据 库的时候…...

牛牛襄阳网站建设/有做网站的吗

写在最后不知道大家有没有发现&#xff0c;在一个行业做的久了&#xff0c;经常会在一些场合&#xff0c;不经意间遇到曾经的同事或熟人。我就有过一个类似经历&#xff0c;那时还是新人&#xff0c;同组一个同事天天对我吆五喝六&#xff0c;态度很不好。数年后&#xff0c;我…...

只能在线观看的电影网站咋么做/网页seo优化

简介 Swarm&#xff1a;docker原生的集群管理工具&#xff0c;将一组docker主机作为一个虚拟的docker主机来管理。 对客户端而言&#xff0c;Swarm集群就像是另一台普通的docker主机。 Swarm集群中的每台主机都运行着一个swarm节点代理&#xff0c;每个代理将该主机上的相关Doc…...