guyinyou opened a new issue #3207:
URL: https://github.com/apache/rocketmq/issues/3207


   The issue tracker is **ONLY** used for bug report(feature request need to 
follow [RIP 
process](https://github.com/apache/rocketmq/wiki/RocketMQ-Improvement-Proposal)).
 Keep in mind, please check whether there is an existing same report before 
your raise a new one.
   
   Alternately (especially if your communication is not a bug report), you can 
send mail to our [mailing lists](http://rocketmq.apache.org/about/contact/). We 
welcome any friendly suggestions, bug fixes, collaboration and other 
improvements.
   
   Please ensure that your bug report is clear and that it is complete. 
Otherwise, we may be unable to understand it or to reproduce it, either of 
which would prevent us from fixing the bug. We strongly recommend the 
report(bug report or feature request) could include some hints as the following:
   
   **FEATURE REQUEST**
   
   1. Please describe the feature you are requesting.
   Increase the cache for invalid topics
   
   2. Provide any additional detail on your proposed use case for this feature.
   
   
   3. Indicate the importance of this issue to you (blocker, must-have, 
should-have, nice-to-have). Are you currently using any workarounds to address 
this issue?
   
   4. If there are some sub-tasks using -[] for each subtask and create a 
corresponding issue to map to the sub task:
   
   - [sub-task1-issue-number](example_sub_issue1_link_here): sub-task1 
description here, 
   - [sub-task2-issue-number](example_sub_issue2_link_here): sub-task2 
description here,
   - ...
   When autoCreateTopicEnable is set to false and the topic specified by the 
producer does not exist, it will communicate with the nameserver twice before 
each message is sent.(One is the original topic, the other is TBW102)
   (See DefaultMQProducerImpl.tryToFindTopicPublishInfo, line 698)
   
   In the above cases, a large number of invalid accesses will be generated to 
the nameserver, Therefore, I added a caching mechanism for invalid topic 
information.
   The following is the pressure test data of the nameserver before and after 
the modification
   `Use 4-threads to send messages to non-existent topics (TopicTest)`
   `sh bin/run_rmq_producer.sh TopicTest xxx.xxx.xxx.xxx:9876 4 1 true &> 
nohup.out &`
   
   befor:
   <img width="535" alt="DF2C96E2-E9F9-4409-8C05-C10A429296A9" 
src="https://user-images.githubusercontent.com/36399867/127821834-0a78b624-7131-4293-8565-acbddca31b10.png";>
   <img width="537" alt="F5069D3D-8AA5-45A9-AD1F-8E059ED13A13" 
src="https://user-images.githubusercontent.com/36399867/127821861-1091fb22-bb28-4c51-93ba-b7dbe25192ad.png";>
   
   after:
   <img width="533" alt="EBA653D5-9AF0-41A8-A86F-1416C5ABC23C" 
src="https://user-images.githubusercontent.com/36399867/127822448-8a218d78-60f6-419b-b6a7-8d3d2fc497b1.png";>
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to