I want to run a Canton participant and domain in a demo environment, where I have very low performance requirements.
Are there configurations I can set to minimize Canton’s memory / CPU footprint?
In the docs I found the following settings for the participant:
canton.participants.participant1 {
// tune caching configs of the ledger api server
ledger-api {
max-contract-state-cache-size = 1000 // default 1e6
max-contract-key-state-cache-size = 1000 // default 1e6
// The in-memory fan-out will serve the transaction streams from memory as they are finalized, rather than
// using the database. Therefore, you should choose this buffer to be large enough such that the likeliness of
// applications having to stream transactions from the database is low. Generally, having a 10s buffer is
// sensible. Therefore, if you expect e.g. a throughput of 20 tx/s, then setting this number to 200 is sensible.
// The default setting assumes 1000 tx/s.
max-transactions-in-memory-fan-out-buffer-size = 200 // default 1e5
}
// tune the synchronisation protocols contract store cache
caching {
contract-store {
maximum-size = 1000 // default 1e6
expire-after-access = 120s // default 10 minutes
}
}
}
Are there others to consider? And are there similar ones for the domain?