forked from stellar/stellar-core
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapply-load-max-sac-tps.cfg
More file actions
75 lines (61 loc) · 2.94 KB
/
Copy pathapply-load-max-sac-tps.cfg
File metadata and controls
75 lines (61 loc) · 2.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# This is the Stellar Core configuration example for using the load generation
# (apply-load) tool for testing the theoretical max SAC (Stellar asset contract)
# transfer TPS via binary search (measured based on apply time only).
# The core with this configuration should run using `./stellar-core apply-load`
# Select the apply-load mode.
APPLY_LOAD_MODE="max-sac-tps"
# Which timing path to use. The max-sac-tps search targets apply-only close
# time, so it only supports "apply".
APPLY_LOAD_TIMING_PHASES = "apply"
# Whether to time the write part of the apply stage. This can be
# disabled to get less noisy results for non-write related changes,
# but should be enabled to get more comprehensive e2e numbers.
APPLY_LOAD_TIME_WRITES = true
# Medida metrics (histograms in particular) in apply path cause severe and
# non-deterministic performance degradation. While this has to be addressed
# eventually, it is useful to disable these when optimizing anything besides
# the metrics.
DISABLE_SOROBAN_METRICS_FOR_TESTING = true
# Disable metadata output
METADATA_OUTPUT_STREAM = ""
# Disable metadata debug
METADATA_DEBUG_LEDGERS = 0
# Lower bound of the TPS in binary search
APPLY_LOAD_MAX_SAC_TPS_MIN_TPS = 1000
# Upper bound of the TPS in binary search
APPLY_LOAD_MAX_SAC_TPS_MAX_TPS = 15000
# Number of seconds to apply the ledger for
APPLY_LOAD_TARGET_CLOSE_TIME_MS = 1000
# The only relevant network configuration parameter - number of transaction
# clusters that are then mapped to the transaction execution threads.
APPLY_LOAD_LEDGER_MAX_DEPENDENT_TX_CLUSTERS = 4
# Number of payments to batch in a single transaction, similarly to how
# operations are batched for 'classic' transactions.
# This is useful to reduce the impact of non-env parts of the apply path, e.g.
# when evaluating the impact of changes to env itself.
APPLY_LOAD_BATCH_SAC_COUNT = 100
# Maximum number of ledgers to close for every iteration of search.
# Should be at least 30 and normally doesn't need to be changed as search will
# not run extra iterations if the results are already statistically significant.
APPLY_LOAD_NUM_LEDGERS = 1000
# Disable bucket list pre-generation as it's not necessary for this mode.
APPLY_LOAD_BL_SIMULATED_LEDGERS = 0
APPLY_LOAD_BL_WRITE_FREQUENCY = 0
APPLY_LOAD_BL_BATCH_SIZE = 0
APPLY_LOAD_BL_LAST_BATCH_SIZE = 0
APPLY_LOAD_BL_LAST_BATCH_LEDGERS = 0
# Common apply load boilerplate
ARTIFICIALLY_GENERATE_LOAD_FOR_TESTING=true
# Diagnostic events should generally be disabled, but can be enabled for debug
ENABLE_SOROBAN_DIAGNOSTIC_EVENTS = false
# Set up a plenty of genesis accounts - benchmark will fail if the number is
# not sufficient. This should be at least 2x of the maximum TPL, but can be set
# higher than that.
GENESIS_TEST_ACCOUNT_COUNT = 100000
# Minimal core config boilerplate
UNSAFE_QUORUM=true
NETWORK_PASSPHRASE="Apply Load"
NODE_SEED="SDQVDISRYN2JXBS7ICL7QJAEKB3HWBJFP2QECXG7GZICAHBK4UNJCWK2 self"
[QUORUM_SET]
THRESHOLD_PERCENT=100
VALIDATORS=["$self"]