Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions Builds/VisualStudio/stellar-core.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -596,14 +596,14 @@ exit /b 0
<ClCompile Include="..\..\src\invariant\test\SponsorshipCountIsValidTests.cpp" />
<ClCompile Include="..\..\src\ledger\CheckpointRange.cpp" />
<ClCompile Include="..\..\src\ledger\FlushAndRotateMetaDebugWork.cpp" />
<ClCompile Include="..\..\src\ledger\ImmutableLedgerView.cpp" />
<ClCompile Include="..\..\src\ledger\InMemorySorobanState.cpp" />
<ClCompile Include="..\..\src\ledger\InternalLedgerEntry.cpp" />
<ClCompile Include="..\..\src\ledger\LedgerCloseMetaFrame.cpp" />
<ClCompile Include="..\..\src\ledger\LedgerEntryScope.cpp" />
<ClCompile Include="..\..\src\ledger\LedgerHeaderUtils.cpp" />
<ClCompile Include="..\..\src\ledger\LedgerManagerImpl.cpp" />
<ClCompile Include="..\..\src\ledger\LedgerRange.cpp" />
<ClCompile Include="..\..\src\ledger\LedgerStateSnapshot.cpp" />
<ClCompile Include="..\..\src\ledger\LedgerTxn.cpp" />
<ClCompile Include="..\..\src\ledger\LedgerTxnEntry.cpp" />
<ClCompile Include="..\..\src\ledger\LedgerTxnHeader.cpp" />
Expand Down Expand Up @@ -670,6 +670,7 @@ exit /b 0
<ClCompile Include="..\..\src\overlay\TxDemandsManager.cpp" />
<ClCompile Include="..\..\src\simulation\ApplyLoad.cpp" />
<ClCompile Include="..\..\src\simulation\TxGenerator.cpp" />
<ClCompile Include="..\..\src\test\CovMark.cpp" />
<ClCompile Include="..\..\src\test\FuzzerImpl.cpp" />
<ClCompile Include="..\..\src\transactions\AllowTrustOpFrame.cpp" />
<ClCompile Include="..\..\src\transactions\BeginSponsoringFutureReservesOpFrame.cpp" />
Expand Down Expand Up @@ -1060,6 +1061,7 @@ exit /b 0
<ClInclude Include="..\..\src\invariant\test\InvariantTestUtils.h" />
<ClInclude Include="..\..\src\ledger\CheckpointRange.h" />
<ClInclude Include="..\..\src\ledger\FlushAndRotateMetaDebugWork.h" />
<ClInclude Include="..\..\src\ledger\ImmutableLedgerView.h" />
<ClInclude Include="..\..\src\ledger\InMemorySorobanState.h" />
<ClInclude Include="..\..\src\ledger\InternalLedgerEntry.h" />
<ClInclude Include="..\..\src\ledger\LedgerCloseMetaFrame.h" />
Expand All @@ -1069,7 +1071,6 @@ exit /b 0
<ClInclude Include="..\..\src\ledger\LedgerManager.h" />
<ClInclude Include="..\..\src\ledger\LedgerManagerImpl.h" />
<ClInclude Include="..\..\src\ledger\LedgerRange.h" />
<ClInclude Include="..\..\src\ledger\LedgerStateSnapshot.h" />
<ClInclude Include="..\..\src\ledger\LedgerTxn.h" />
<ClInclude Include="..\..\src\ledger\LedgerTxnEntry.h" />
<ClInclude Include="..\..\src\ledger\LedgerTxnHeader.h" />
Expand Down Expand Up @@ -1119,6 +1120,7 @@ exit /b 0
<ClInclude Include="..\..\src\overlay\TxDemandsManager.h" />
<ClInclude Include="..\..\src\simulation\ApplyLoad.h" />
<ClInclude Include="..\..\src\simulation\TxGenerator.h" />
<ClInclude Include="..\..\src\test\CovMark.h" />
<ClInclude Include="..\..\src\test\Fuzzer.h" />
<ClInclude Include="..\..\src\test\FuzzerImpl.h" />
<ClInclude Include="..\..\src\transactions\AllowTrustOpFrame.h" />
Expand Down
18 changes: 12 additions & 6 deletions Builds/VisualStudio/stellar-core.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -1314,9 +1314,6 @@
<ClCompile Include="..\..\src\main\QueryServer.cpp">
<Filter>main</Filter>
</ClCompile>
<ClCompile Include="..\..\src\ledger\LedgerStateSnapshot.cpp">
<Filter>ledger</Filter>
</ClCompile>
<ClCompile Include="..\..\src\main\AppConnector.cpp">
<Filter>main</Filter>
</ClCompile>
Expand Down Expand Up @@ -1438,6 +1435,12 @@
<ClCompile Include="..\..\src\util\SecretManager.cpp">
<Filter>util</Filter>
</ClCompile>
<ClCompile Include="..\..\src\ledger\ImmutableLedgerView.cpp">
<Filter>ledger</Filter>
</ClCompile>
<ClCompile Include="..\..\src\test\CovMark.cpp">
<Filter>test</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\lib\util\cpptoml.h">
Expand Down Expand Up @@ -2427,9 +2430,6 @@
<ClInclude Include="..\..\src\main\QueryServer.h">
<Filter>main</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ledger\LedgerStateSnapshot.h">
<Filter>ledger</Filter>
</ClInclude>
<ClInclude Include="..\..\src\main\AppConnector.h">
<Filter>main</Filter>
</ClInclude>
Expand Down Expand Up @@ -2554,6 +2554,12 @@
<ClInclude Include="..\..\src\util\SecretManager.h">
<Filter>util</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ledger\ImmutableLedgerView.h">
<Filter>ledger</Filter>
</ClInclude>
<ClInclude Include="..\..\src\test\CovMark.h">
<Filter>test</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\COPYING" />
Expand Down
70 changes: 16 additions & 54 deletions docs/apply-load-for-meta.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -15,44 +15,39 @@ METADATA_OUTPUT_STREAM='meta.xdr'

# Network configuration to use during the benchmark
# The fields here correspond to the network configuration settings.
APPLY_LOAD_LEDGER_MAX_INSTRUCTIONS = 500000000
APPLY_LOAD_TX_MAX_INSTRUCTIONS = 100000000
APPLY_LOAD_LEDGER_MAX_INSTRUCTIONS = 580000000
APPLY_LOAD_TX_MAX_INSTRUCTIONS = 400000000

APPLY_LOAD_LEDGER_MAX_DEPENDENT_TX_CLUSTERS = 1
APPLY_LOAD_LEDGER_MAX_DEPENDENT_TX_CLUSTERS = 2

APPLY_LOAD_TX_MAX_FOOTPRINT_SIZE = 200
APPLY_LOAD_TX_MAX_FOOTPRINT_SIZE = 400

APPLY_LOAD_LEDGER_MAX_DISK_READ_LEDGER_ENTRIES = 1000
APPLY_LOAD_TX_MAX_DISK_READ_LEDGER_ENTRIES = 100
APPLY_LOAD_TX_MAX_DISK_READ_LEDGER_ENTRIES = 200

APPLY_LOAD_LEDGER_MAX_DISK_READ_BYTES = 200000
APPLY_LOAD_TX_MAX_DISK_READ_BYTES = 130000
APPLY_LOAD_LEDGER_MAX_DISK_READ_BYTES = 400000
APPLY_LOAD_TX_MAX_DISK_READ_BYTES = 200000

APPLY_LOAD_LEDGER_MAX_WRITE_LEDGER_ENTRIES = 1000
APPLY_LOAD_TX_MAX_WRITE_LEDGER_ENTRIES = 100
APPLY_LOAD_TX_MAX_WRITE_LEDGER_ENTRIES = 200

APPLY_LOAD_LEDGER_MAX_WRITE_BYTES = 300000
APPLY_LOAD_TX_MAX_WRITE_BYTES = 140000
APPLY_LOAD_LEDGER_MAX_WRITE_BYTES = 286720
APPLY_LOAD_TX_MAX_WRITE_BYTES = 132096

APPLY_LOAD_MAX_LEDGER_TX_SIZE_BYTES = 270000
APPLY_LOAD_MAX_TX_SIZE_BYTES = 150000
APPLY_LOAD_MAX_LEDGER_TX_SIZE_BYTES = 266240
APPLY_LOAD_MAX_TX_SIZE_BYTES = 132096

APPLY_LOAD_MAX_CONTRACT_EVENT_SIZE_BYTES = 10000
APPLY_LOAD_MAX_SOROBAN_TX_COUNT = 1000
APPLY_LOAD_MAX_CONTRACT_EVENT_SIZE_BYTES = 16384
APPLY_LOAD_MAX_SOROBAN_TX_COUNT = 482

# The following section contains various parameters for the generated load.

# Number of ledgers to close for benchmark
# Number of ledgers to close for the benchmark.
APPLY_LOAD_NUM_LEDGERS = 100

# Generate that many simple Classic payment transactions in every benchmark ledger
APPLY_LOAD_CLASSIC_TXS_PER_LEDGER = 1000

# Size of every synthetic data entry generated.
# This setting affects both the size of the pre-generated Bucket List entries,
# and the size of every entry that a Soroban transaction reads/writes.
APPLY_LOAD_DATA_ENTRY_SIZE = 300

# Bucket list pre-generation

# The benchmark will pre-generate ledger entries using the simplified ledger
Expand All @@ -78,44 +73,11 @@ APPLY_LOAD_BL_LAST_BATCH_LEDGERS = 300
#APPLY_LOAD_BL_LAST_BATCH_LEDGERS = 300
#APPLY_LOAD_BL_LAST_BATCH_SIZE = 100

# Settings for generated transactions
# Every setting consists of the list of the possible values and the respective
# _DISTRIBUTION list that defines the weight of every value. The values are then
# sampled from the value list according to the distribution.

# Core will try to pack as many generated transactions as possible,
# so if it's important to maintain a constant number of transactions per ledger,
# or to maintain constant utilization of every resources dimension in every
# ledger, then sampling should be avoided.

# It's generally a good idea to utilize as many dimensions as possible, so
# the values here should be chosen carefully such that the ratio between the
# generated value and the respective limit is the roughly same for most of the
# resources.

# Number of *disk* reads a transaction performs. Every disk read is restoration,
# so it's also a write (accounted for in NUM_RW_ENTRIES).
APPLY_LOAD_NUM_DISK_READ_ENTRIES = [1]
APPLY_LOAD_NUM_DISK_READ_ENTRIES_DISTRIBUTION = [1]

# Number of writes a transaction performs.
APPLY_LOAD_NUM_RW_ENTRIES = [4]
APPLY_LOAD_NUM_RW_ENTRIES_DISTRIBUTION = [1]

# Number of events a transaction emits.
# Number of events a transaction emits and the respective distribution weights.
APPLY_LOAD_EVENT_COUNT = [5]
APPLY_LOAD_EVENT_COUNT_DISTRIBUTION = [1]

# Size of the generated transaction.
APPLY_LOAD_TX_SIZE_BYTES = [1080]
APPLY_LOAD_TX_SIZE_BYTES_DISTRIBUTION = [1]

# Number of instructions a transaction will use.
APPLY_LOAD_INSTRUCTIONS = [2000000]
APPLY_LOAD_INSTRUCTIONS_DISTRIBUTION = [1]

# 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
Expand Down
73 changes: 17 additions & 56 deletions docs/apply-load-ledger-limits.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -19,46 +19,39 @@ METADATA_DEBUG_LEDGERS = 0

# Network configuration to use during the benchmark
# The fields here correspond to the network configuration settings.
APPLY_LOAD_LEDGER_MAX_INSTRUCTIONS = 500000000
APPLY_LOAD_TX_MAX_INSTRUCTIONS = 100000000
APPLY_LOAD_LEDGER_MAX_INSTRUCTIONS = 580000000
APPLY_LOAD_TX_MAX_INSTRUCTIONS = 400000000

APPLY_LOAD_LEDGER_MAX_DEPENDENT_TX_CLUSTERS = 1
APPLY_LOAD_LEDGER_MAX_DEPENDENT_TX_CLUSTERS = 2

APPLY_LOAD_TX_MAX_FOOTPRINT_SIZE = 200
APPLY_LOAD_TX_MAX_FOOTPRINT_SIZE = 400

APPLY_LOAD_LEDGER_MAX_DISK_READ_LEDGER_ENTRIES = 1000
APPLY_LOAD_TX_MAX_DISK_READ_LEDGER_ENTRIES = 100
APPLY_LOAD_TX_MAX_DISK_READ_LEDGER_ENTRIES = 200

APPLY_LOAD_LEDGER_MAX_DISK_READ_BYTES = 150000
APPLY_LOAD_TX_MAX_DISK_READ_BYTES = 130000
APPLY_LOAD_LEDGER_MAX_DISK_READ_BYTES = 400000
APPLY_LOAD_TX_MAX_DISK_READ_BYTES = 200000

APPLY_LOAD_LEDGER_MAX_WRITE_LEDGER_ENTRIES = 1000
APPLY_LOAD_TX_MAX_WRITE_LEDGER_ENTRIES = 100
APPLY_LOAD_TX_MAX_WRITE_LEDGER_ENTRIES = 200

APPLY_LOAD_LEDGER_MAX_WRITE_BYTES = 300000
APPLY_LOAD_TX_MAX_WRITE_BYTES = 140000
APPLY_LOAD_LEDGER_MAX_WRITE_BYTES = 286720
APPLY_LOAD_TX_MAX_WRITE_BYTES = 132096

APPLY_LOAD_MAX_LEDGER_TX_SIZE_BYTES = 270000
APPLY_LOAD_MAX_TX_SIZE_BYTES = 150000
APPLY_LOAD_MAX_LEDGER_TX_SIZE_BYTES = 266240
APPLY_LOAD_MAX_TX_SIZE_BYTES = 132096

APPLY_LOAD_MAX_CONTRACT_EVENT_SIZE_BYTES = 10000
APPLY_LOAD_MAX_SOROBAN_TX_COUNT = 1000
APPLY_LOAD_MAX_CONTRACT_EVENT_SIZE_BYTES = 16384
APPLY_LOAD_MAX_SOROBAN_TX_COUNT = 482

# The following section contains various parameters for the generated load.

# 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
# Number of ledgers to close for the benchmark.
APPLY_LOAD_NUM_LEDGERS = 100

# Generate that many simple Classic payment transactions in every benchmark ledger
APPLY_LOAD_CLASSIC_TXS_PER_LEDGER = 0

# Size of every synthetic data entry generated.
# This setting affects both the size of the pre-generated Bucket List entries,
# and the size of every entry that a Soroban transaction reads/writes.
APPLY_LOAD_DATA_ENTRY_SIZE = 300

# Bucket list pre-generation

# The benchmark will pre-generate ledger entries using the simplified ledger
Expand All @@ -84,42 +77,10 @@ APPLY_LOAD_BL_LAST_BATCH_LEDGERS = 300
#APPLY_LOAD_BL_LAST_BATCH_LEDGERS = 300
#APPLY_LOAD_BL_LAST_BATCH_SIZE = 100

# Settings for generated transactions
# Every setting consists of the list of the possible values and the respective
# _DISTRIBUTION list that defines the weight of every value. The values are then
# sampled from the value list according to the distribution.

# Core will try to pack as many generated transactions as possible,
# so if it's important to maintain a constant number of transactions per ledger,
# or to maintain constant utilization of every resources dimension in every
# ledger, then sampling should be avoided.

# It's generally a good idea to utilize as many dimensions as possible, so
# the values here should be chosen carefully such that the ratio between the
# generated value and the respective limit is the roughly same for most of the
# resources.

# Number of *disk* reads a transaction performs. Every disk read is restoration,
# so it's also a write (accounted for in NUM_RW_ENTRIES).
APPLY_LOAD_NUM_DISK_READ_ENTRIES = [2]
APPLY_LOAD_NUM_DISK_READ_ENTRIES_DISTRIBUTION = [1]

# Number of writes a transaction performs.
APPLY_LOAD_NUM_RW_ENTRIES = [4]
APPLY_LOAD_NUM_RW_ENTRIES_DISTRIBUTION = [1]

# Number of events a transaction emits.
# Number of events a transaction emits and the respective distribution weights.
APPLY_LOAD_EVENT_COUNT = [5]
APPLY_LOAD_EVENT_COUNT_DISTRIBUTION = [1]

# Size of the generated transaction.
APPLY_LOAD_TX_SIZE_BYTES = [1080]
APPLY_LOAD_TX_SIZE_BYTES_DISTRIBUTION = [1]

# Number of instructions a transaction will use.
APPLY_LOAD_INSTRUCTIONS = [2000000]
APPLY_LOAD_INSTRUCTIONS_DISTRIBUTION = [1]

# Common apply load boilerplate
ARTIFICIALLY_GENERATE_LOAD_FOR_TESTING=true
# Diagnostic events should generally be disabled, but can be enabled for debug
Expand Down
Loading
Loading