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 Service

V4.2.12Community Edition

    Download PDF

    OceanBase logo

    The Unified Distributed Database for the AI Era.

    Follow Us
    Products
    OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
    Resources
    DocsBlogLive DemosTraining & CertificationTicket
    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 Service
    3. V4.2.12
    iconOceanBase Migration Service
    V 4.2.12Community Edition
    Databases
    • OceanBase Database
    • OceanBase Cloud
    • OceanBase Tugraph
    • Interactive Tutorials
    • OceanBase Best Practices
    Tools
    • OceanBase Cloud Platform
    • OceanBase Migration Service
    • OceanBase Developer Center
    • OceanBase Migration Assessment
    • OceanBase Admin Tool
    • OceanBase Loader and Dumper
    • OceanBase Deployer
    • Kubernetes operator for OceanBase
    • OceanBase Diagnostic Tool
    • OceanBase Binlog Service
    Connectors and Middleware
    • OceanBase Database Proxy
    • Embedded SQL in C for OceanBase
    • OceanBase Call Interface
    • OceanBase Connector/C
    • OceanBase Connector/J
    • OceanBase Connector/ODBC
    • OceanBase Connector/NET
    Enterprise Edition
    • V 4.3.2
    • V 4.3.1
    • V 4.3.0
    • V 4.2.5
    • V 4.2.4
    • V 4.2.3
    • V 4.0.2
    • V 3.4.0
    Community Edition
    • V 4.2.13
    • V 4.2.12
    • V 4.2.11
    • V 4.2.10
    • V 4.2.9
    • V 4.2.8
    • V 4.2.7
    • V 4.2.6
    • V 4.2.5
    • V 4.2.4
    • V 4.2.3
    • V 4.2.1
    • V 4.2.0
    • V 4.0.0
    • V 3.3.1

    Performance troubleshooting and tuning for data synchronization from OceanBase Community Edition to Kafka

    Last Updated:2026-04-09 09:11:10  Updated
    Share
    What is on this page
    Performance troubleshooting steps
    Performance-related configurations for Full-Import/Incr-Sync components
    Source
    Sink
    Coordinator
    Use Arthas for performance analysis

    folded

    Share

    Performance troubleshooting steps

    1. Use the following methods to determine whether the Store component has performance bottlenecks.

      1. Query the number of records processed per second from the CDC log.

        grep NEXT_RECORD_RPS libobcdc.log
        

        If the CDC processing speed is slower than the business data speed of the source, run the following command to check whether the issue is caused by the OMS Community Edition server.

      2. Check whether the CDC process has triggered the traffic control.

        grep "NEED_SLOW_DOWN=1 PAUSED=1" libobcdc.log
        

        NEED_SLOW_DOWN=1 indicates that the traffic control is triggered because the memory usage is high, which limits the log pulling efficiency. CDC is paused to avoid further increasing the system pressure when the traffic control is triggered due to issues such as I/O or server load.

        You can modify the memory_limit parameter to adjust the throttling threshold. View the current value in the /home/ds/store/store{port}/etc/libobcdc.conf file and increase the parameter value if necessary. Here is an example:

        liboblog.memory_limit=20G
        liboblog.part_trans_task_active_count_upper_bound=500000
        
      3. If the traffic control is not triggered, query the logs for CLOG pulling to check the RPC latency.

        grep do_stat libobcdc.log
        [2025-04-21 16:05:13.905681] INFO  [TLOG.FETCHER] do_stat (ob_log_ls_fetch_stream.cpp:309) [20155][][T0][Y0-0000000000000000-0-0] [lt=9] [STAT] [FETCH_STREAM] stream="xxx.xxx.xxx.1:2882"(0x7fa62d4131f0:HOT)({tenant_id:1028, ls_id:{id:1002}})(FETCHED_LOG:153.11GB) traffic=41.85MB/sec log_size=438879806 size/rpc=13.50MB log_cnt/rpc=946 rpc_cnt=31(3/sec) single_rp
        c=0(0/sec)(upper_limit=0(0/sec),max_log=0(0/sec),no_log=0(0/sec),max_result=0(0/sec)) rpc_time=312357 svr_time=(queue=41,process=224677) net_time=(l2s=1146,s2l=83859) cb_time=2632 h andle_rpc_time=13739 flush_time=860 read_log_time=12870(log_entry=2600,trans=0) trans_count=0 trans_size=0.00B
        

        The rpc_time=312357 svr_time=(queue=41,process=224677) in the log indicates that the RPC latency is 312 ms, and the server spent 224 ms processing the RPC. Generally, the RPC latency is only several tens of milliseconds. This indicates that the RPC latency is excessively high. In this case, query the OBServer logs and adjust relevant parameters.

        Keywords in the OBServer log: fetch_log done. This line of log is expected to print the statistics of log pulling. If the value of fetch_archive_time is not 0 in this line of log, increase the value of log_disk_size to increase the storage space for CLOG.

        omsce7

    2. After the Store component is ruled out as the cause, check the performance-related parameters of the Full-Import/Incr-Sync component.

    Performance-related configurations for Full-Import/Incr-Sync components

    Usually, setting useSchemaCache to true in the Source is sufficient for most scenarios. If the required records per second (RPS) is still not met, you can set buildRecordConcurrent to true.

    Source

    Parameter
    Description
    useSchemaCache Specifies whether to cache the schema. Valid values: true and false. Default value: false.
    If you set this parameter to true, the Store component caches the schema when reading data, which accelerates the message conversion of the Store.
    buildRecordConcurrent Specifies whether to asynchronously convert Store messages. Valid values: true and false.
    If you set this parameter to true, data is pulled from the Store and message conversion is performed in parallel. The number of parallel threads is the same as workerNum.

    Sink

    The following two parameters configure the producer client properties of Kafka.

    OMS Community Edition parameter
    Corresponding Kafka client parameter
    Description
    lingerMs ProducerConfig.LINGER_MS_CONFIG The waiting time of Kafka for sending batches of data. If you want to increase the throughput, you can increase the amount of data sent in each batch. The default value is 10, in milliseconds.
    batchSize ProducerConfig.BATCH_SIZE_CONFIG The maximum number of messages sent in each batch by the Kafka client. Default value: 1048576, in bytes (1 MB).
    workerNum The number of concurrent worker threads of the Sink. Default value: 16.

    If enablePreprocessConfig is set to true in the coordinator, lingerMs and batchSize will be automatically configured based on the JVM memory. If you manually configure these two parameters, your configurations take precedence.

    # View the automatically configured parameters
    grep "auto set " connector.log
    # View the configurations finally used by the system
    cat conf/runningConf.json
    

    Coordinator

    Shuffle-related configurations of OMS Community Edition

    Parameter
    Description
    shuffleBucketSize The number of buckets. OMS Community Edition usually reads and sends a batch of data in a bucket and then reads and sends the next batch of data in the bucket. The number of buckets determines the number of records that can be sent at the same time. Default value: 128.
    shuffleFlushIntervalMs The time interval for reading bucketed data periodically. The smaller the interval, the more real-time it is. The unit is milliseconds, and the default value is 100.
    shuffleMinBatchSize The number of records in a bucket must be greater than or equal to the value of this parameter before the bucket is read and sent. If the number of records in a bucket is less than the value of this parameter, the system waits for shuffleFlushIntervalMs and then reads and sends the records in the bucket. Default value: 20.
    shuffleMaxBatchSize The maximum number of records to be read and sent in one time. Default value: 64.

    Use Arthas for performance analysis

    # Log in to the OMS Community Edition container
    cp /root/arthas-bin.zip /home/ds
    su - ds
    unzip arthas-bin.zip
    
    /opt/alibaba/java/bin/java -jar arthas-boot.jar pid(Incremental component process number)
    profiler start
    profiler getSamples
    profiler status
    # Enter the stop command after waiting for 1 minute. This will generate an HTML file containing flame graphs.
    profiler stop --format html
    # Exit Arthas.
    exit
    

    Previous topic

    What are the strategies for ensuring the message order in incremental data synchronization to Kafka
    Last

    Next topic

    How do I query the ID of a checker?
    Next
    What is on this page
    Performance troubleshooting steps
    Performance-related configurations for Full-Import/Incr-Sync components
    Source
    Sink
    Coordinator
    Use Arthas for performance analysis