---
title: "评估 MySQL 数据库和 OceanBase 数据库的性能差异 | OceanBase 文档中心"
description: 评估 MySQL 数据库和 OceanBase 数据库的性能差异 本文为你介绍如何评估 MySQL 数据库和 OceanBase 数据库的性能差异。 运行 start.sh 时，各参数的详细介绍请参见 产品形态 。如果是 Windows 环境，请替换 sh bin/start.sh 为 start.bat 。 打开 …
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*eTwkRZSHAj0AAAAAAAAAAAAADiGDAQ/original) 迁移评估 OMAV 4.2.5 企业版

# 评估 MySQL 数据库和 OceanBase 数据库的性能差异

更新时间：2026-04-01 16:30:35

本文为你介绍如何评估 MySQL 数据库和 OceanBase 数据库的性能差异。

运行 `start.sh` 时，各参数的详细介绍请参见 [产品形态](https://www.oceanbase.com/docs/enterprise-oma-doc-cn-1000000003404955)。如果是 Windows 环境，请替换 `sh bin/start.sh` 为 `start.bat`。

1. 打开 General Log 配置，采集器源端 MySQL 数据库的流量数据，生成对应的 General Log 文件。
 2. 分析文件。

   录制好的文件保存在 `/home/mysql/gl` 中，将其压缩后上传至目标机器，运行下述命令进行文件分析。

   ```bash
   sh bin/start.sh \
   # 任务的名称，可以随意取值。
   --name test_mysql_replay \
   # 固定值，表示进行 REPLAY。
   --mode REPLAY \  
   # 固定值，表示 REPLAY 的采集阶段。
   --replay-phase COLLECT \
   # 处理的文件路径。
   --source-file "/home/mysql/gl" \
   # 该参数设置为 1，通常 General Log 只有一个。
   --parallel-count 1 \
   # 固定值，设置为 MYSQL。
   --source-type MYSQL \
   # 该参数设置为 1，通常 General Log 只有一个。
   --parse-thread-count 1 \
   # General Log 没有 Schema 信息，仅支持单 Schema 回放。执行回放时，请确保该参数中指定的 Schema 名称和目标端 OceanBase 数据库中的 Schema 名称完全一致。
   --source-db-user "schema_name"
   # General 中时间戳的格式需要根据日志中的实际情况填写。
   --log-time-regex "\\\d{4}-\\\d{2}-\\\d{2}T\\\d{2}:\\\d{2}:\\\d{2}\\\.\\\d{6}\\\+08:00"

   ```
 3. 回放文件。

   ```bash
   sh bin/start.sh \
   # 任务的名称，可以随意取值。
   --name send1 \
   # OceanBase 数据库的租户类型。
   --ob-mode MYSQL \
   # 固定值，表示进行 REPLAY。
   --mode REPLAY \
   # 固定值，表示 REPLAY 的回放阶段。
   --replay-phase SEND \
   # 包括 READ、WRITE、READ_WRITE、PL 和 ALL，默认值为 READ。
   --replay-mode ALL \
   # 处理的文件路径。
   --source-file "./dump/test" \
   # 按照顺序进行回放。
   --replay-process-name "sort" \
   # 5 秒后开始回放，默认值为 0。
   --delay-start-time 5 \
   # 回放倍数，默认按照原始速度回放（1 倍）。
   --replay-scale 5 \
   # 抽样率，0~1 之间，默认为 1，即全抽样。
   --replay-sample 1 \
   # 最大线程数，默认值为 400，取值不能超过 2000。
   --max-parallel 400 \
   # 由于回放时存在冷启动问题，需要配置一个预热时间。
   --warm-up 30 \
   # 目标端的地址，目前仅支持回放到一个 IP 地址。
   --target-db-host xxx.xxx.xxx.1 \
   # 目标端的端口。
   --target-db-port 2883 \
   # 租户和集群名称，使用 # 分隔。前面是租户，后面是集群。
   # 多 USER 回放目前仅支持同一租户下的多用户。
   --target-db-tenant-cluster "<tenant_name>#<cluster_name>" \
   # 登录的用户名和密码，使用冒号（:）分隔。多个用户名及密码之间使用英文逗号（,）分隔。请注意 DuserAndPassword 前面只有一个 -，并且第一个用户名必须是 ROOT、SYS 或具备较高权限的超级用户，用于获取 OceanBase 数据库的 SQL AUDIT 信息。如果第一个用户账号不能访问需要回放的 Schema，则需要在后面填写可以访问到对应 Schema 的用户名和密码。
   -DuserAndPassword="root:******,username:******" \
   # JDBC 连接自定义配置，根据实际情况配置特定的 JDBC 参数（例如，useUnicode:true,characterEncoding:utf8）。如果没有，则无需填写该参数。
   -DjdbcConnectionConfigure=useUnicode:true,characterEncoding:utf8 \
   # 设置后，等待 XX 分钟后发送无进展，将强行退出程序。
   --monitor-processor-time 10 \
   # 扫描 SQL_AUDIT 的周期，单位为秒。默认值为 60，请根据实际情况配置。
   --sql-audit-interval 300 \
   # OceanBase 数据库需要回放的 Schema。
   --target-db-schemas "AAA,BBB" \
   # 目标端的数据库类型。
   --target-db-type OBMYSQL \
   # OceanBase 数据库的版本号。如果您使用的是 OceanBase V4.x，请填写版本号为固定值 4.2.0。
   --target-db-version 4.2.0

   ```

   回放执行本命令后，会输出实时的回放进度。

   ```shell
   目标端 SCHEMA :::SCHEMA : [ schema_name ] :
   -----================ [ schema_name ]  流量直方图 [步长: 12 秒 ]===============-------
    4412.0┤  █    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─  
    4191.4┤  █    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─    ─  
    3970.8┤  █    ─    ─    ─    ─    ─    ─    ─    █    █    ─    ─    ─    ─    █    ─  
    3750.2┤  █    ─    ─    ─    ─    ─    ─    ─    █    █    ─    ─    ─    ─    █    ─  
    3529.6┤  █    ─    ─    ─    ─    ─    ─    ─    █    █    ─    ─    ─    ─    █    ─  
    3309.0┤  █    ─    ─    ─    ─    ─    ─    ─    █    █    █    ─    ─    █    █    ─  
    3088.4┤  █    ─    ─    ─    ─    ─    ─    █    █    █    █    █    ─    █    █    █  
    2867.8┤  █    ─    ─    █    ─    ─    █    █    █    █    █    █    █    █    █    █  
    2647.2┤  █    ─    ─    █    ─    ─    █    █    █    █    █    █    █    █    █    █  
    2426.6┤  █    ─    ─    █    █    ─    █    █    █    █    █    █    █    █    █    █  
    2206.0┤  █    ─    ─    █    █    █    █    █    █    █    █    █    █    █    █    █  
    1985.4┤  █    █    █    █    █    █    █    █    █    █    █    █    █    █    █    █  
    1764.8┤  █    █    █    █    █    █    █    █    █    █    █    █    █    █    █    █  
    1544.2┤  █    █    █    █    █    █    █    █    █    █    █    █    █    █    █    █  
    1323.6┤  █    █    █    █    █    █    █    █    █    █    █    █    █    █    █    █  
    1103.0┤  █    █    █    █    █    █    █    █    █    █    █    █    █    █    █    █  
     882.4┤  █    █    █    █    █    █    █    █    █    █    █    █    █    █    █    █  
     661.8┤  █    █    █    █    █    █    █    █    █    █    █    █    █    █    █    █  
     441.2┤  █    █    █    █    █    █    █    █    █    █    █    █    █    █    █    █  
     220.6┤  █    █    █    █    █    █    █    █    █    █    █    █    █    █    █    █  
   开始时间 : 2021-05-31 00:14:04 结束时间 : 2021-05-31 00:17:15 整体耗时(秒) : 190 请求数量 : 50774
   ******************************************************************************************

   ```
 4. 查看回放报告。

   回放结束后，会在 `report` 目录下生成包含 CSV 文件的文件夹。您可以通过文件夹下 CSV 格式的报告文件来查看源端和目标端流量回放对比情况，CSV 文件中 SQL 会根据 SQLID 进行聚合。

   文件夹的命名格式为“时间日期+字符串”，CSV 文件的命名格式为 "Schema 名称.csv"。如果有多个 Schema，则会生成多个对应的 CSV 文件。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
