Samples: 974 of event 'task-clock:ppp', 4000 Hz, Event count (approx.): 66932381 lost: 0/0 drop: 0/0
Overhead Shared Object Symbol
5.49% [kernel] [k] __fdget
5.28% cellappmgr [.] KBEngine::Network::NetworkInterface::processChannels(KBEngine::Network::MessageHa
4.12% libstdc++.so.6.0.33 [.] std::_Rb_tree_increment(std::_Rb_tree_node_base*)
3.82% [kernel] [k] handle_softirqs
3.27% cellappmgr [.] KBEngine::Network::EpollPoller::processPendingEvents(double)
2.73% cellappmgr [.] void fmt::v12::detail::parse_format_string<char, fmt::v12::detail::format_handler
2.13% libc.so.6 [.] 0x000000000019b940
2.06% [kernel] [k] do_syscall_64
2.05% libstdc++.so.6.0.33 [.] std::__cxx11::basic_string<char, std::char_traits, std::allocator >::
1.89% [kernel] [k] x64_sys_call
1.86% libc.so.6 [.] epoll_wait
1.76% cellappmgr [.] KBEngine::Cellappmgr::getCellapp(unsigned long)
1.74% cellappmgr [.] KBEngine::Network::TCPPacket::createPoolObject(std::__cxx11::basic_string<char, s
1.56% [kernel] [k] nft_do_chain
1.53% cellappmgr [.] KBEngine::Network::MessageHandlers::find(unsigned short)
1.42% libc.so.6 [.] pthread_mutex_lock
1.36% libc.so.6 [.] cfree
1.36% [kernel] [k] _raw_spin_unlock_irqrestore
起了大概7000的bot
网络事件处理非常频繁,每帧处理的 channel 太多
map 成本异常高:4.12% std::_Rb_tree_increment
红黑树要优化:
O(logN)
cache 不友好
指针跳跃严重
内存分配/释放频繁:
1.36% cfree
1.74% TCPPacket::createPoolObject
2.05% string 操作
锁竞争
1.42% pthread_mutex_lock
内核网络路径吃 CPU,socket 操作非常频繁,网络中断压力
5.49% __fdget
3.82% handle_softirqs
优化优先级:
1.std::map
2.优化 Packet 分配
3.string要改,太多的fmt了
4.网络优化(优先级不高,可能等完全异步化了再做)
Samples: 974 of event 'task-clock:ppp', 4000 Hz, Event count (approx.): 66932381 lost: 0/0 drop: 0/0
Overhead Shared Object Symbol
5.49% [kernel] [k] __fdget
5.28% cellappmgr [.] KBEngine::Network::NetworkInterface::processChannels(KBEngine::Network::MessageHa
4.12% libstdc++.so.6.0.33 [.] std::_Rb_tree_increment(std::_Rb_tree_node_base*)
3.82% [kernel] [k] handle_softirqs
3.27% cellappmgr [.] KBEngine::Network::EpollPoller::processPendingEvents(double)
2.73% cellappmgr [.] void fmt::v12::detail::parse_format_string<char, fmt::v12::detail::format_handler
2.13% libc.so.6 [.] 0x000000000019b940
2.06% [kernel] [k] do_syscall_64
2.05% libstdc++.so.6.0.33 [.] std::__cxx11::basic_string<char, std::char_traits, std::allocator >::
1.89% [kernel] [k] x64_sys_call
1.86% libc.so.6 [.] epoll_wait
1.76% cellappmgr [.] KBEngine::Cellappmgr::getCellapp(unsigned long)
1.74% cellappmgr [.] KBEngine::Network::TCPPacket::createPoolObject(std::__cxx11::basic_string<char, s
1.56% [kernel] [k] nft_do_chain
1.53% cellappmgr [.] KBEngine::Network::MessageHandlers::find(unsigned short)
1.42% libc.so.6 [.] pthread_mutex_lock
1.36% libc.so.6 [.] cfree
1.36% [kernel] [k] _raw_spin_unlock_irqrestore
起了大概7000的bot
网络事件处理非常频繁,每帧处理的 channel 太多
map 成本异常高:4.12% std::_Rb_tree_increment
红黑树要优化:
O(logN)
cache 不友好
指针跳跃严重
内存分配/释放频繁:
1.36% cfree
1.74% TCPPacket::createPoolObject
2.05% string 操作
锁竞争
1.42% pthread_mutex_lock
内核网络路径吃 CPU,socket 操作非常频繁,网络中断压力
5.49% __fdget
3.82% handle_softirqs
优化优先级:
1.std::map
2.优化 Packet 分配
3.string要改,太多的fmt了
4.网络优化(优先级不高,可能等完全异步化了再做)