DAML on DB Performance

Hi,

Are there any performance tests that can be published for DAML on DBs such as Postgres and what is the part of daml itself vs that of Postgres? Is the integration code for postgres available? I can’t locate it.

best regards

2 Likes

I’m not on that team and not familiar with the code, so take this with a grain of salt, but it seems like this folder might be a good starting point.

2 Likes

We are currently heavily testing the performance for sandbox-classic (which uses a single schema), sandbox (which uses the same architecture as other DAML integrations, with a schema acting as the ledger and the other indexing information so that the Ledger API can access it quickly) and other integrations (where we only use PostgreSQL for indexing). Unfortunately these tests mostly rely on proprietary workflows for customers and I don’t think they can be made public as they are.

The code you want to have a look at to understand how our integration with PostgreSQL works lives mainly in two locations:

2 Likes

@Gary_Verhaegen is right; that’s the implementation of the ledger side of things when using PostgreSQL as a ledger backend.

We also store an index, typically also in PostgreSQL. When running Sandbox with a PostgreSQL backend, we use the same database for both the ledger and the index. However, even with more sophisticated ledgers such as Fabric, the index will be stored in PostgreSQL.

As for your question about performance tests, the short answer is that we only have barebones performance testing capability available right now. We do hammer these components internally, but as @stefanobaghino-da said, the code is proprietary. We hope to be able to open-source more considerable performance tests at some point as a result of working with these real-world workflows.

3 Likes