Skip to content

Improve performance for 4.9.2 #3585

@areyouok

Description

@areyouok

We have some performance improvements based on 4.9.2

  1. [Part A] eliminate reverse DNS lookup in MessageExt
  2. [Part B] Improve header encode/decode performance
  3. [Part B] Improve RocketMQSerializable performance with zero-copy
  4. [Part C] cache result for parseChannelRemoteAddr()
  5. [Part D] improve performance of createUniqID()
  6. [Part E] eliminate duplicated getNamespace() call when where is no namespace
  7. [Part F] eliminate regex match in topic/group name check
  8. [Part G] [Work in progress] support send batch message with different topic/queue
  9. [Part H] eliminate StringBuilder auto resize in PullRequestHoldService.buildKey() when topic length is greater than 14, this method called twice for each message.
  10. [Part I] Avoid unnecessary StringBuffer resizing and String Formatting
  11. [Part J] Use mmap buffer instead of FileChannel when writing consume queue and slave commit log, which greatly speed up consume tps.
  12. Part K move execution of notifyMessageArriving() from ReputMessageService thread to PullRequestHoldService thread.

These commits almost eliminate bad performance methods in the cpu flame graph in producer side.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions