Parallel notifications in RPC PubSub (#20543)
* generate rpc notifications in parallel * Use multithreaded runtime for pubsub * add metric for time since creation of rpc notification to queue * measure notification entry processing * fix: add n_threads config argument * configure rayon thread pool for rpc notifications * add config option for pubsub notification threads * rename metric to created_to_queue_time_us Co-authored-by: Tyera Eulberg <teulberg@gmail.com> * rename metric to notification_entry_processing_time_us Co-authored-by: Tyera Eulberg <teulberg@gmail.com> * use value_of for rpc_pubsub_notification_threads parsing Co-authored-by: Tyera Eulberg <teulberg@gmail.com> * rename threads to sol-sub-notif-N Co-authored-by: Tyera Eulberg <teulberg@gmail.com> * fix rpc tests for TimestampedNotificationEntry * rustfmt * use rayon thread limit for rpc Co-authored-by: Pavel Strakhov <p.strakhov@iconic.vc> Co-authored-by: Alexander Polakov <a.polakov@zubr.io> Co-authored-by: Nikita Podoliako <bananaelecitrus@gmail.com> Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
This commit is contained in:
@@ -24,6 +24,7 @@ jsonrpc-pubsub = "18.0.0"
|
||||
jsonrpc-ws-server = "18.0.0"
|
||||
libc = "0.2.105"
|
||||
log = "0.4.14"
|
||||
rayon = "1.5.1"
|
||||
regex = "1.5.4"
|
||||
serde = "1.0.130"
|
||||
serde_derive = "1.0.103"
|
||||
@@ -39,6 +40,7 @@ solana-measure = { path = "../measure", version = "=1.9.0" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.0" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.0" }
|
||||
solana-poh = { path = "../poh", version = "=1.9.0" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.0" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.0" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.0" }
|
||||
solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.9.0" }
|
||||
|
Reference in New Issue
Block a user