记录在鲲鹏 ARM 服务器、麒麟 V10 和达梦数据库组成的信创环境里部署炬鲸 OBSERVE 的完整过程,涵盖依赖替换、达梦适配、性能调优和踩坑清单,供同类国产化项目直接参考。
服务器是鲲鹏 920(64 核 ARM64),操作系统麒麟 V10 SP3,数据库达梦 DM8,中间件换成东方通。从 x86 换到 ARM 意味着所有镜像和二进制都要重新验证,不能直接沿用之前的 x86 部署包。开工前先确认三件事:所有依赖是否有 aarch64 版本、数据库驱动是否兼容、监控探针是否支持 ARM。
镜像这一块要提前处理:很多第三方组件只发 x86 镜像,需要自己在 ARM 上重新构建。建议用 buildx 打 multi-arch 镜像,统一推到内网 Harbor,避免生产环境现场拉取失败。
OBSERVE 的元数据默认落在 MySQL,切换到达梦需要替换 JDBC 驱动并调整 SQL 方言。达梦的 MySQL 兼容模式(COMPATIBLE_MODE=4)支持较好,建议开启并关闭大小写敏感:
-- 建库时指定兼容模式
CREATE DATABASE observe CASE_SENSITIVE=0 COMPATIBLE_MODE=4;
迁移分四步:先用达梦自带的 DTS 工具把 MySQL 的表结构和数据迁过来,再逐一核对字段类型映射,然后替换应用里的连接串和驱动,最后跑一遍全量回归。重点核对三点:
ARM 上压测暴露两个瓶颈。第一,麒麟默认的 swap 策略过于激进,建议把 swappiness 调到 10;第二,达梦的磁盘预读和页大小需要调整——arm64 默认 4K 页,开启 64K 大页后写入吞吐提升约 30%。
# 麒麟 V10 调 swappiness
echo "vm.swappiness=10" >> /etc/sysctl.conf && sysctl -p
大页配置要配合内核启动参数和达梦的 HUGE_PAGE 参数一起改,改完重启验证生效,不要只改一半。另外达梦建议开启异步 IO(AIO)并调大 redo 日志缓冲,对写入密集的可观测场景帮助明显。