Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.8.5
-
None
-
None
Description
According to YARN-9927 analysis. The RMNodeStatusEvent dominates 90% time consumption of RM event scheduler.
Use async-profiler profile the Processing of RMNodeStatusEvent,ProtoUtils.convertFromProtoFormat Use JDK String.replace().
It is definitely worth considering not using these JDK String methods and opting for the faster Apache Commons StringUtils.replace() instead.
Test case on jdk8:
for (int i=0 ; i<100000 ;i++)
{ ProtoUtils.convertFromProtoFormat(builder.getState()); }Apache Commons StringUtils.replace() : used 30ms
JDK String.replace() : used 60ms
Attachments
Attachments
Issue Links
- Blocked
-
YARN-10696 Add RMNodeEvent to single async dispatcher before YARN-9927.
- Open
-
YARN-9927 RM multi-thread event processing mechanism
- Patch Available
- is duplicated by
-
YARN-9624 Use switch case for ProtoUtils#convertFromProtoFormat containerState
- Resolved