GetAccount performance has been shown to be slow during the recent testnet.
There are probably some low hanging fruit and optimisations we can make to improve matters.
One idea is to move most of the data loading away from sqlite and instead fetch it from the account tree itself. If possible, this may also let us remove the historical tracking of account storage within sqlite which is a pain.
Some starting points:
- The account tree doesn't use a persistent backend, but we should use
rocksdb. This would also fix our slow start up times.
- Check what data we can take from ^^ instead of
sqlite.
- We don't have
sqlite migration support, so we may need to punt on the removal of data, but maybe its also a good time to start on this.
GetAccountperformance has been shown to be slow during the recent testnet.There are probably some low hanging fruit and optimisations we can make to improve matters.
One idea is to move most of the data loading away from
sqliteand instead fetch it from the account tree itself. If possible, this may also let us remove the historical tracking of account storage withinsqlitewhich is a pain.Some starting points:
rocksdb. This would also fix our slow start up times.sqlite.sqlitemigration support, so we may need to punt on the removal of data, but maybe its also a good time to start on this.