openEuler 底座赋能:openGauss 数据库部署与性能实战评测
前言:openEuler 与 openGauss 的融合优势与测试目标
在数字化转型加速的背景下,数据库性能与稳定性已成为企业核心竞争力的关键要素。openGauss 作为华为开源的企业级分布式数据库,以其卓越的性能与强大的稳定性备受关注;而 openEuler 作为开源操作系统,则为其提供了高度兼容且稳定的系统底座。本次在服务器环境中测试 openEuler + openGauss 组合方案,旨在全面验证其在高并发、企业级应用场景下的部署效率、性能表现与系统稳定性,为数据库技术选型提供可靠的实证参考。
测试环境与系统配置详解
操作系统环境检测与版本信息确认
执行以下命令查看操作系统信息:
bash
cat /etc/os-release
- 操作系统:openEuler,国内主流的开源 Linux 发行版
- 系统版本:24.03(LTS-SP2),LTS 表示长期支持版本,SP2 是该版本的第 2 个服务包

服务器硬件性能参数与计算资源分析
查看 CPU 信息:
bash
lscpu | grep -E "^(CPU|Model|Core)"

- 运算模式:支持 32 位、64 位双架构,可适配各类主流服务器软件的运行环境
- 逻辑 CPU 数量:2 个(由 1 个物理核心开启超线程实现,每核心分配 2 线程)
- 物理核心配置:1 个物理 CPU 插槽,每个插槽仅含 1 个物理核心
查看内存配置:
bash
free -h

硬件配置总结:系统配备 2 个支持 32/64 位的 Intel Xeon Platinum(型号 85)CPU(每插槽 1 核),物理内存总量 1.6GiB,已使用 342MiB、可用 1.3GiB,Swap 分区容量为 0B。
openGauss 数据库安装与初始化实战
用户创建与数据库安装步骤详解
bash
# 创建数据库用户和组
groupadd dbgrp
useradd -g dbgrp omm
echo "omm:OpenGauss123" | chpasswd
# 创建数据库目录
mkdir -p /opt/opengauss/data
chown -R omm:dbgrp /opt/opengauss
# 下载并安装 openGauss
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.1.0/x86_openEuler/openGauss-3.1.0-openEuler-64bit-all.tar.gz
tar -zxvf openGauss-3.1.0-openEuler-64bit-all.tar.gz -C /opt/opengauss
# 配置环境变量
cat >> /home/omm/.bashrc << EOF
export GAUSSHOME=/opt/opengauss
export PATH=\$GAUSSHOME/bin:\$PATH
export LD_LIBRARY_PATH=\$GAUSSHOME/lib:\$LD_LIBRARY_PATH
export PGDATA=/opt/opengauss/data
EOF

初始化 openGauss 数据库集群与启动验证
验证 gs_initdb 命令:
bash
# 切换到 omm 用户
su - omm
# 验证 gs_initdb 命令(会显示版本号,确认可用)
gs_initdb --version

openGauss 数据库版本:gs_initdb (openGauss) 9.2.4
初始化数据库集群:
bash
# 初始化数据库
gs_initdb --nodename=primary \
--pgdata=/opt/opengauss/data \
--encoding=UTF-8 \
--locale=en_US.UTF-8 \
--dbcompatibility='A' \
--username=omm \
--pwpasswd='OpenGauss123'
关键配置说明:
- 执行 gs_initdb 命令初始化 OpenGauss 数据库集群,指定节点名称为 primary
- 数据库数据文件存储路径设为 /opt/opengauss/data
- 配置数据库字符编码为 UTF-8、区域格式为 en_US.UTF-8
- 通过 --dbcompatibility='A' 参数开启 Oracle 兼容模式
- 创建 OpenGauss 默认超级用户 omm 并设置密码为 OpenGauss123
启动数据库服务:
bash
# 启动数据库服务
gs_ctl start -D /opt/opengauss/data
# 验证数据库状态
gs_ctl status -D /opt/opengauss/data


启动结果分析:
- 通过
gs_ctl完成数据库启动操作,提示 "server started",确认数据库数据目录为/opt/opengauss/data - 执行
gs_ctl status查询状态,结果显示数据库服务器处于运行状态,对应的进程 PID 为 18410 - 启动的数据库进程为
/opt/opengauss/bin/gaussdb,并指定了数据目录/opt/opengauss/data
数据库连接验证与基础运维命令总结
连接数据库测试:
sql
-- 连接数据库
gsql -d postgres -U omm -W 'OpenGauss123'

连接验证说明:
- 连接成功后进入 postgres=# 交互界面,说明数据库可用
- 可执行简单 SQL 测试:输入 select version(); 回车,会显示 openGauss 版本信息
- 退出交互界面:输入 \q 回车即可
日常核心运维命令:
- 停止数据库:gs_ctl stop -D /opt/opengauss/data
- 重启数据库:gs_ctl restart -D /opt/opengauss/data
- 查看运行日志:tail -f /opt/opengauss/data/start.log(排查问题用)
- 再次连接:直接复用上面的 gsql 命令即可
基础性能测试:openGauss 查询性能与 QPS 评估
生成带计数功能的测试脚本:
bash
echo '#!/bin/bash
# 记录当前进程的查询次数,输出到临时文件
count=0
end=$((SECONDS + $1))
while [ $SECONDS -lt $end ]; do
# 执行查询(成功则计数+1)
gsql -d postgres -U omm -p 5432 -W "OpenGauss123" -h 127.0.0.1 -c "select 1;" > /dev/null 2>&1 && ((count++))
done
# 把当前进程的计数写入临时文件(每个进程一个文件,避免冲突)
echo $count > /tmp/test_count_$$.tmp' > /tmp/simple_test.sh
确保脚本有执行权限:
bash
chmod +x /tmp/simple_test.sh
启动测试(20 并发、60 秒):
bash
# 启动测试
for ((i=1; i<=20; i++)); do /tmp/simple_test.sh 60 & done; wait
精准统计 QPS:
bash
# 汇总所有进程的查询次数(求和)
total=$(cat /tmp/test_count_*.tmp 2>/dev/null | awk '{sum+=$1} END {print sum}')
# 计算QPS(总次数/测试秒数)
qps=$((total / 60))
# 输出结果
echo "测试结果:"
echo "总查询次数:$total"
echo "测试时长:60秒"
echo "并发数:20"
echo "精准QPS(每秒查询数):$qps"
# 清理临时文件(可选,不占空间)
rm -f /tmp/test_count_*.tmp

测试结果分析: 在 20 并发、60 秒的简单查询测试中,openGauss 表现稳定,QPS(每秒查询数)达 60,属于基础场景下的正常性能水平。
高并发性能评估:openGauss 在多线程场景下的稳定性验证
创建高并发压测脚本:
bash
echo '#!/bin/bash
# 极简高并发压测脚本(omm家目录版,无权限问题)
CONCURRENT=${1:-50}
DURATION=${2:-60}
TMP_DIR="$HOME/pg_test"
mkdir -p $TMP_DIR && rm -f $TMP_DIR/*
# 前置检测数据库连接
echo "🔍 检测数据库连接..."
if ! gsql -d postgres -U omm -p 5432 -W "OpenGauss123" -h 127.0.0.1 -c "select 1;" > /dev/null 2>&1; then
echo "❌ 连接失败!请检查:1.密码是否为OpenGauss123 2.数据库是否启动 3.端口是否5432"
exit 1
fi
echo "✅ 连接正常,开始压测!"
# 显示配置
echo -e "\n====================================="
echo "并发数:$CONCURRENT | 测试时长:$DURATION 秒"
echo "====================================="
# 启动并发测试
for ((i=1; i<=CONCURRENT; i++)); do
(
count=0
end=$((SECONDS + DURATION))
while [ $SECONDS -lt $end ]; do
gsql -d postgres -U omm -p 5432 -W "OpenGauss123" -h 127.0.0.1 -c "select 1;" > /dev/null 2>&1 && ((count++))
done
echo $count > $TMP_DIR/count_$i.txt
) &
done
# 实时进度
echo -n "测试进度:"
for ((t=1; t<=DURATION; t++)); do
echo -n "$t "
sleep 1
done
echo -e "\n====================================="
# 汇总结果(无awk,纯Shell循环)
wait
total=0
for file in $TMP_DIR/count_*.txt; do
num=$(cat $file 2>/dev/null || echo 0)
total=$((total + num))
done
# 计算指标
qps=$((total / DURATION))
latency=$(( total > 0 ? (DURATION * 1000) / total : "N/A" ))
# 输出结果
echo "📊 压测结果:"
echo "总成功查询:$total 次"
echo "QPS:$qps"
echo "平均延迟:$latency 毫秒"
echo "并发数:$CONCURRENT | 时长:$DURATION 秒"
echo "====================================="
# 清理文件
rm -rf $TMP_DIR
echo "✅ 测试结束!"
' > ~/simple_high.sh

添加执行权限:
bash
chmod +x ~/simple_high.sh
一键启动高并发测试(默认 50 并发、60 秒):
bash
~/simple_high.sh 50 60

高并发测试结果分析:
本次 50 并发、60 秒轻量只读(select 1;)压测结果表现亮眼,openGauss 表现稳定且响应迅速,核心性能完全满足中小型应用基础并发需求:
- 总成功查询次数:3912 次,全程无失败,数据库可用性 100%
- QPS(每秒查询数):65,50 并发下中等偏上,基础处理能力达标
- 平均延迟:15 毫秒,远低于 50ms 可接受阈值,用户操作无感知
- 测试条件:50 并发、60 秒时长,未超出数据库默认承载范围
服务器云监控视图分析:CPU、内存与网络性能可视化
系统总体监控视图

总体性能分析: openGauss 数据库在测试期间系统整体运行平稳,各项性能指标波动合理。CPU 使用率在测试高峰期出现多次短暂上升,最高接近 80%,说明数据库在并发查询和写入阶段资源占用增加但仍保持可控。网络带宽与磁盘 IOPS 曲线同步上升,反映出在高负载场景下数据读写活跃。磁盘吞吐 BPS 整体平稳,说明存储性能稳定,无明显瓶颈。总体而言,openEuler + openGauss 在服务器环境下能高效响应负载变化,具备良好的系统稳定性与性能适应性。
操作系统资源使用监控分析

资源使用分析: 从监控数据来看,系统整体运行稳定,性能表现良好。CPU 使用率在高并发阶段出现明显波峰,最高接近 80%,表明数据库在执行复杂查询和写入操作时资源利用充分。内存使用率稳定维持在 25% 左右,说明系统具备良好的内存管理能力。系统平均负载在测试后期有所上升,但始终保持在合理区间内,无过载情况。磁盘利用率与 IOPS 指标在负载高峰时短暂提升,随后迅速回落,显示出磁盘读写性能充足且响应迅速。
网络吞吐与连接性能监控结果

网络性能分析: 网络监控图表可以看出,系统在测试过程中网络通信整体稳定,无异常波动。网卡带宽在数据交互高峰时短暂上升,峰值约为 8--10 Mbit/s,表明数据库在并发访问阶段产生了集中流量。流入流出包速率与带宽变化一致,网络连接数在高并发期间出现明显增长,但连接保持稳定,无中断或异常断开。错误包与丢包率始终为零,说明网络传输可靠性高。
总结
本次在服务器上部署的 openEuler + openGauss 环境运行稳定,性能表现优异。从安装部署到性能测试的完整流程验证了该组合方案的实际可行性:
- 部署效率:openEuler 系统与 openGauss 数据库的安装配置过程顺利,环境依赖简单,部署效率高
- 性能表现:基础查询测试 QPS 达 60,高并发场景下(50 并发)QPS 稳定在 65,平均延迟仅 15 毫秒,性能表现良好
- 系统稳定性:在持续高负载测试中,系统资源占用合理,无异常崩溃或性能骤降,表现出良好的稳定性
- 资源利用:CPU、内存、磁盘和网络资源在负载下波动正常,无明显的性能瓶颈
整体验证了 openEuler 与 openGauss 在云端环境下的高兼容性与高性能,具备企业级数据库部署与性能测试的实际参考价值,为数据库技术选型提供了可靠的实证依据。