tencent cloud

TDMQ for CKafka

Release Notes and Announcements
Release Notes
Broker Release Notes
Announcement
Product Introduction
Introduction and Selection of the TDMQ Product Series
What Is TDMQ for CKafka
Strengths
Scenarios
Technology Architecture
Product Series Introduction
Apache Kafka Version Support Description
Comparison with Apache Kafka
High Availability
Use Limits
Regions and AZs
Related Cloud Services
Billing
Billing Overview
Pricing
Billing Example
Changing from Postpaid by Hour to Monthly Subscription
Renewal
Viewing Consumption Details
Overdue Payments
Refund
Getting Started
Guide for Getting Started
Preparations
VPC Network Access
Public Domain Name Access
User Guide
Usage Process Guide
Configuring Account Permission
Creating Instance
Configuring Topic
Connecting Instance
Managing Messages
Managing Consumer Group
Managing Instance
Changing Instance Specification
Configuring Traffic Throttling
Configuring Elastic Scaling Policy
Configuring Advanced Features
Viewing Monitoring Data and Configuring Alarm Rules
Synchronizing Data Using CKafka Connector
Use Cases
Cluster Resource Assessment
Client Practical Tutorial
Log Integration
Open-Source Ecosystem Integration
Replacing Supporting Route (Old)
Migration Guide
Migration Solution Overview
Migrating Cluster Using Open-Source Tool
Troubleshooting
Topics
Clients
Messages
​​API Reference
History
Introduction
API Category
Making API Requests
Other APIs
ACL APIs
Instance APIs
Routing APIs
DataHub APIs
Topic APIs
Data Types
Error Codes
SDK Reference
SDK Overview
Java SDK
Python SDK
Go SDK
PHP SDK
C++ SDK
Node.js SDK
SDK for Connector
Security and Compliance
Permission Management
Network Security
Deletion Protection
Event Record
CloudAudit
FAQs
Instances
Topics
Consumer Groups
Client-Related
Network-Related
Monitoring
Messages
Agreements
CKafka Service Level Agreements
Contact Us
Glossary
문서TDMQ for CKafkaTroubleshootingClientsMessages Produced by the Client Are Blocked

Messages Produced by the Client Are Blocked

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2026-01-20 17:19:22

Overview

Messages produced by the client are blocked mainly because they cannot be sent, or message sending is slower than message production.
If messages cannot be sent and a timeout error occurs, you can first run the command line for production and consumption to check the basic performance of the cluster. See Command Lines for Production and Consumption.
There are three causes why message sending is slower than production:
Producer instances are not enough. As the production performance of a single producer is limited, if there are insufficient producers while the traffic is high, message sending may be blocked.
The traffic is high, but the number of topic partitions is not enough, resulting in low write concurrency.
Another cause is low service quality. For example, the network quality is low, the broker load is high, or the client load is high (for example, GC occurs on the client). This will prolong message sending from the client to the server and reduce production efficiency, causing a heap in the local buffer of the client and eventually blocking messages.

Possible Causes

1. For Pro Edition instances, you can view Advanced Monitoring in the console and observe the overall server load, such as request queue depth and the production and consumption time on the server, to determine whether there is a performance issue with the server. For Standard Edition instances, you can submit a ticket to view these metrics.



2. Check the client load, such as the local server's CPU and memory utilization (if the client is in Java, you should pay attention to GC).
3. If blocking occurs occasionally, check whether the local network is stable, especially in a container network environment. Special attention is required.
4. Check whether the producers are not enough based on the traffic of a single server. If the throughput traffic of a single server is high while producers send messages in a single thread, you should pay attention to the number of producers.

Solutions

Try to solve the issue using the following solutions:
1. If the speed of producing messages is faster than the speed at which messages are sent by the sender thread to the broker, the memory configured by buffer.memory will be used up, blocking the sending operations by the producer. This parameter is used to configure the maximum blocking time. If a larger send buffer is required, you can increase the value of buffer.memory, which is 32 MB by default.
# Maximum blocking time
max.block.ms=60000
# Configure the memory that the producer uses to cache messages to be sent to the broker. The user should adjust it based on the total memory size of the process where the producer resides.
buffer.memory=33554432
2. If the topic traffic is high while the producer instances for client message sending are not enough, you can add more producer instances for production. For example:
KafkaProducer<byte[],byte[]> producer = new KafkaProducer<>(props);
3. Add more partitions to the cluster.
4. Submit a ticket to request platform assistance.

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백