@@ -104,14 +104,13 @@ impl RateLimiterConfig {
104104 pub const DEFAULT_META_DATA_QUOTA : Quota = Quota :: n_every ( 2 , 5 ) ;
105105 pub const DEFAULT_STATUS_QUOTA : Quota = Quota :: n_every ( 5 , 15 ) ;
106106 pub const DEFAULT_GOODBYE_QUOTA : Quota = Quota :: one_every ( 10 ) ;
107- pub const DEFAULT_BLOCKS_BY_RANGE_QUOTA : Quota = Quota :: n_every ( 1024 , 10 ) ;
107+ // We request 32 blocks per batch. In a mainnet like network, where we have many peers to choose
108+ // from for range sync, we should ideally be spreading out the sync requests over multiple nodes
109+ // and request not more than 2 epochs from a single peer every 5 seconds.
110+ pub const DEFAULT_BLOCKS_BY_RANGE_QUOTA : Quota = Quota :: n_every ( 160 , 5 ) ;
108111 pub const DEFAULT_BLOCKS_BY_ROOT_QUOTA : Quota = Quota :: n_every ( 128 , 10 ) ;
109- // `BlocksByRange` and `BlobsByRange` are sent together during range sync.
110- // It makes sense for blocks and blobs quotas to be equivalent in terms of the number of blocks:
111- // 1024 blocks * 6 max blobs per block.
112- // This doesn't necessarily mean that we are sending this many blobs, because the quotas are
113- // measured against the maximum request size.
114- pub const DEFAULT_BLOBS_BY_RANGE_QUOTA : Quota = Quota :: n_every ( 6144 , 10 ) ;
112+ // `DEFAULT_BLOCKS_BY_RANGE_QUOTA` * max_blobs_per_block
113+ pub const DEFAULT_BLOBS_BY_RANGE_QUOTA : Quota = Quota :: n_every ( 960 , 5 ) ;
115114 pub const DEFAULT_BLOBS_BY_ROOT_QUOTA : Quota = Quota :: n_every ( 768 , 10 ) ;
116115 // 320 blocks worth of columns for regular node, or 40 blocks for supernode.
117116 // Range sync load balances when requesting blocks, and each batch is 32 blocks.
0 commit comments