celestiaorg / celestia-app

PoS application for the consensus portion of the Celestia network. Built using celestia-core (fork of CometBFT) and the cosmos-sdk
https://celestia.org
Apache License 2.0
328 stars 261 forks source link

Tracking parameters for knuu e2e benchmark tests under network latency #3604

Open staheri14 opened 1 week ago

staheri14 commented 1 week ago

Problem

Part of the Testground sanity test is to run benchmark tests in Knuu under network latency. This issue is to track all the desired test scenario, and relevant parameters related to these experiments, ensuring consistency across the two backends.

Acceptance Criteria

The following aspects need to be agreed upon/investigated:

staheri14 commented 1 week ago

Echoing some of the past conversations with the DevOps regarding how latency is managed in knuu

cc: @evan-forbes You also mentioned that Testground utilizes TC under the hood, so I guess, it implies that the way the latency is applied in both platforms is similar. I will do further research to confirm this.

staheri14 commented 1 week ago

I believe for the other parameters, we can mirror the settings we have used in the benchmark tests w.o. latency.

Parameter Value
WAL true
cpu 8
PeerGossipSleepDuration 100ms
memory 12GiB
latency 70ms
random_latency false
bandwidth 1GB
topology seed
pex true
timeout_propose 80s
timeout_commit 11s
per_peer_bandwidth 5MBs
blob_sequences 3
blob_sizes 200000
blobs_per_sequence 6
inbonund_peer_count 40
outbound_peer_count 10
gov_max_square_size 512
max_block_bytes 7_800_000 (this varies depending on the targeted square size in the experiment)
mempool v1
broadcast_txs true
proposer_gossip_fix false
send_prio ratio
receive_prio fifo
compact block prop false
BlockPartSize 64KB
Mempool.MaxTxsBytes 1_000_000_000
Mempool.MaxTxBytes 100_000_000
Mempool.TTLNumBlocks 100
Mempool.TTLDuration 40 * time.Minute