You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Actix actors are single threaded, which means they get blocked by CPU intensive operations and delay the handling of other messages. Moving these operations on separate OS level threads will allow the actors to remain responsive and continue processing incoming messages concurrently while heavy computations run in parallel.
One way to detect such issues is using flame graphs. An example can be viewed here, in the PeerManagerActor thread in a forknet experiment with a padded state witness size:
Here we can notice that the handle_msg_network_request calls send_message_to_account which spends most of the time in the sign_message function, which is a CPU intensive operation since it serializes the PartialEncodedStateWitness so it should be detached from the main thread.
An example PR for the PartialWitnessActor can be found here: #12656
The text was updated successfully, but these errors were encountered:
Actix actors are single threaded, which means they get blocked by CPU intensive operations and delay the handling of other messages. Moving these operations on separate OS level threads will allow the actors to remain responsive and continue processing incoming messages concurrently while heavy computations run in parallel.
One way to detect such issues is using flame graphs. An example can be viewed here, in the
PeerManagerActor
thread in a forknet experiment with a padded state witness size:Here we can notice that the
handle_msg_network_request
callssend_message_to_account
which spends most of the time in thesign_message
function, which is a CPU intensive operation since it serializes thePartialEncodedStateWitness
so it should be detached from the main thread.An example PR for the
PartialWitnessActor
can be found here: #12656The text was updated successfully, but these errors were encountered: