OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

Product Overview
DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

Product Overview
DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Migration Assessment

V4.2.4Enterprise Edition

  • Product Introduction
    • Overview
    • Application scenarios
    • System architecture
    • Product form
  • Install OMA
  • Compatibility assessment
    • Overview
    • Assess the compatibility with objects
    • Assess the compatibility with SQL statements
    • Assess the compatibility with business code
    • Export SQL statements from an OceanBase database
    • Database assessment
      • Overview
      • Assess an Oracle database
      • Assess a MySQL database
      • Assess a TiDB database
      • Assess a PostgreSQL database
      • Assess a DB2 LUW database
  • Performance assessment
    • Standalone edition
      • Overview
      • Assess the performance differences between an Oracle database and an OceanBase database
      • Assess the performance differences between a MySQL database and an OceanBase database
      • Assess the performance differences between different versions of OceanBase Database

Download PDF

Overview Application scenarios System architecture Product form Install OMA Overview Assess the compatibility with objects Assess the compatibility with SQL statements Assess the compatibility with business code Export SQL statements from an OceanBase database Overview Assess an Oracle database Assess a MySQL database Assess a TiDB database Assess a PostgreSQL database Assess a DB2 LUW database Overview Assess the performance differences between an Oracle database and an OceanBase database Assess the performance differences between a MySQL database and an OceanBase database Assess the performance differences between different versions of OceanBase Database
OceanBase logo

The Unified Distributed Database for the AI Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogLive DemosTraining & Certification
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. OceanBase Migration Assessment
  3. V4.2.4
iconOceanBase Migration Assessment
V 4.2.4Enterprise Edition
Enterprise Edition
  • V 4.4.2
  • V 4.2.5
  • V 4.2.4
  • V 4.2.3
  • V 4.2.2
  • V 4.2.0
  • V 3.3.2

Assess the performance differences between a MySQL database and an OceanBase database

Last Updated:2026-04-14 07:42:03  Updated
share
What is on this page
share

This topic describes how to assess the performance differences between a MySQL database and an OceanBase database.

Run start.sh with reference to the sample command in this topic. For more information about the parameters in the script, see Product form. In Microsoft Windows, replace sh bin/start.sh with start.bat.

  1. Enable GeralLog, so that the collector can collect the traffic data in the source MySQL database and generate the corresponding General Log file.

  2. Analyze the files.

    Find the recorded file in the /home/mysql/gl directory, compress it, upload it to the server where it is to be analyzed, and execute the following statements:

    sh bin/start.sh \
    # The task name, which can be set to any value.
    --name test_mysql_replay \
    # A fixed value that indicates a database replay.
    --mode REPLAY \  
    # A fixed value that indicates the analysis phase of replay.
    --replay-phase COLLECT \
    # The path of files to be replayed.
    --source-file "/home/mysql/gl" \
    # Set this parameter to 1. Generally, only one General Log file exists.
    --parallel-count 1 \
    # The type of the source database. Set it to MYSQL.
    --source-type MYSQL \
    # Set this parameter to 1. Generally, only one General Log file exists.
    --parse-thread-count 1 \
    # The General Log file does not contain schema information. It support only single-schema replay. Make sure that the schema name specified in this parameter is the same as the schema name in the target OceanBase Database.
    --source-db-user "schema_name"
    # The timestamp format in the General Log file. You need to specify it according to the actual situation in the logs.
    --log-time-regex "\\\d{4}-\\\d{2}-\\\d{2}T\\\d{2}:\\\d{2}:\\\d{2}\\\.\\\d{6}\\\+08:00"
    
  3. Replay the files.

    bin/start.sh \
    # The task name.
    --name send1 \
    # The tenant type of OceanBase Database.
    --ob-mode MYSQL \
    # A fixed value that indicates a database replay.
    --mode REPLAY \
    # A fixed value that indicates the sending phase of replay.
    --replay-phase SEND \
    # The replay mode. Valid values: READ, WRITE, READ_WRITE, PL, and ALL. Default value: READ.
    --replay-mode ALL \  
    # The path of files to be replayed.  
    --source-file "./dump/test" \
    # Specifies to replay in order.    
    --replay-process-name "sort" \
    # Specifies the period after which the replay will be restarted, in the unit of seconds. Default value: 0, which specifies to immediately start the replay.
    --delay-start-time 5 \
    # The replay scale. The default value of this parameter is 1, which indicates that the replay will run at the original speed.   
    --replay-scale 5 \    
    # The sampling ratio, which ranges from 0 to 1. The default value is 1, which indicates full sampling.  
    --replay-sample 1 \     
    # The maximum number of threads, which is 400 by default and cannot exceed 2,000.     
    --max-parallel 400 \     
    # Due to the cold start during a replay, a warm-up time must be specified.
    --warm-up 30 \          
    # The IP address of the destination database. You can specify only one destination database for replay.
    --target-db-host xxx.xxx.xxx.xxx \  
    # The port number of the destination database.
    --target-db-port 2883 \
    # The tenant name and cluster name, which must be separated with a number sign (#). The tenant name precedes the cluster name.
    # You can replay calls from multiple users, but the users must belong to the same tenant.
    --target-db-tenant-cluster "oms_oracle#ob_100****.admin" \   
    # The login username and password, which must be separated with a colon (:). Multiple usernames and passwords must be separated by commas (,). Please note that there is only one hyphen (-) before DuserAndPassword, and the first username must be ROOT, SYS, or a superuser with high privileges, which is used to obtain the SQL AUDIT information of OceanBase Database. If the first user account cannot access the Schema to be replayed, you need to specify another username and password with access to the corresponding Schema.
    -DuserAndPassword="root:******,username:******" \  
    # The custom configuration for the JDBC connection. Specify the JDBC parameters based on the actual situation. For example, you can set useUnicode to true and characterEncoding to utf8 as needed. This parameter is optional.
    -DjdbcConnectionConfigure=useUnicode:true,characterEncoding:utf8 \
    # If you set this parameter to XX, the system will forcibly exit the main process when the main process has not sent any data for XX minutes.
    --monitor-processor-time 10 \  
    # The interval for scanning the SQL_AUDIT view, in seconds. Default value: 60. Set this parameter based on your requirements.
    --sql-audit-interval 300 \   
    # The mode of OceanBase Database.
    --ob-mode MYSQL \ 
    # The Schema of OceanBase Database that needs to be replayed. 
    --target-db-schemas "AAA,BBB" \
    # The type of the destination database.
    --target-db-type OBMYSQL \
    # The version of OceanBase Database.
    --target-db-version 4.2.0
    

    After this command is executed, the real-time replay progress is displayed.

    Destination SCHEMA :::SCHEMA : [ schema_name ] :
    -----================ [ schema_name ] Traffic histogram [ Step size: 12 seconds ]===============-------
     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┤  █    █    █    █    █    █    █    █    █    █    █    █    █    █    █    █  
    Start time: 2021-05-31 00:14:04 End time: 2021-05-31 00:17:15 Time spent (seconds): 190 Requests: 50774
    ******************************************************************************************
    
  4. View the replay report.

    • After the replay is completed, a folder containing CSV files is generated in the report directory. You can view the traffic replay comparison between the source and target databases by using the CSV report files in the folder. The SQL statements in the CSV files are aggregated based on the SQL IDs.

    The folder name is in the format of "Time and date+string", and the CSV file name is in the format of "Schema name.csv". If multiple schemas exist, multiple corresponding CSV files are generated.

Previous topic

Assess the performance differences between an Oracle database and an OceanBase database
Last

Next topic

Assess the performance differences between different versions of OceanBase Database
Next