Vladimir Ozerov created IGNITE-7866:

             Summary: TcpCommunicationSpi metrics causes cache operations 
                 Key: IGNITE-7866
                 URL: https://issues.apache.org/jira/browse/IGNITE-7866
             Project: Ignite
          Issue Type: Task
          Components: general
    Affects Versions: 2.4
            Reporter: Vladimir Ozerov
            Assignee: Vladimir Ozerov
             Fix For: 2.4

Extended TCP metrics were added as a part of IGNITE-6868 ticket. Unfortunately, 
they causes ~5-10% performance drop for cache operations when working in 
in-memory mode. Causes:
1) Contention on shared data structures (LongAdder, CMH)
2) A lot of string comparisons because we use class names to track particulat 
message types

Suggested fix:
1) Move all processing to NIO threads
2) Introcduce thread-local state and update it from NIO threads
3) Metrics readers should merge state from all NIO threads
4) User {{Message}} type ID instead of class names
5) When returning final result we should use {{Class.getName()}} instead of 

This message was sent by Atlassian JIRA

Reply via email to