Bundle CRUD performance

112 views
Skip to first unread message

Sean McIlvenna

unread,
Feb 6, 2023, 5:08:50 PM2/6/23
to HAPI FHIR
We're using `hapi-fhir-jpaserver-starter` with a Postgres database and attempting to store a very large Bundle of resources (~30k entries/resources). Are there configuration changes I can make to improve the performance of storing bundles of that size?

James Agnew

unread,
Feb 9, 2023, 10:22:30 AM2/9/23
to Sean McIlvenna, HAPI FHIR
Hi Sean,

There are a bunch of settings that can improve write performance.

Probably the most critical one is to make sure you're on the very latest version of HAPI FHIR. Transaction write performance is something we test and profile often, and there have been improvements small and large in every release in the last 2 years.

There are also quite a few settings that you can tune that will help - There's a doc page here with some details. It's a Smile CDR doc so it's linking to Smile settings, but all of the settings described are DaoConfig or ModelConfig properties so there's nothing discussed there that isn't open source.

Specifically, disabling deletes and enabling mass ingestion mode are big ones. It's also always a good idea to review your search parameters - Every enabled search parameter is one more thing to index during writes, so disabling one you know you'll never use can have a lot of impact.

Cheers,
James


On Mon, Feb 6, 2023 at 5:08 PM 'Sean McIlvenna' via HAPI FHIR <hapi...@googlegroups.com> wrote:
We're using `hapi-fhir-jpaserver-starter` with a Postgres database and attempting to store a very large Bundle of resources (~30k entries/resources). Are there configuration changes I can make to improve the performance of storing bundles of that size?

--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hapi-fhir/e695ee59-72c9-4860-a9c5-1b1c7aaff7edn%40googlegroups.com.

Sean McIlvenna

unread,
Feb 9, 2023, 10:25:14 AM2/9/23
to HAPI FHIR
Hi James! Thanks for responding...
By "review search parameters", do you mean the SearchParameter resources stored on /fhir/SearchParameter?
When we initialized the db, I believe HAPI auto-populated a bunch of SearchParameter resources on it... If I delete one, I assume it is not going to just re-create it?
Thanks!

James Agnew

unread,
Feb 9, 2023, 10:32:32 AM2/9/23
to Sean McIlvenna, HAPI FHIR
The thing to so is to keep the search parameter there, but update its status to 'retired'. That way the server knows you don't want it to be recreated.

Sean McIlvenna

unread,
Feb 9, 2023, 10:34:42 AM2/9/23
to HAPI FHIR
Great! Thanks for the information!

Sean McIlvenna

unread,
Feb 9, 2023, 10:40:25 AM2/9/23
to HAPI FHIR
I just did a GET /fhir/SearchParameter and was expecting to see 200+ SP's for all of the base FHIR spec search parameters, and only got a few of the custom SP's we created.
Is that what you would expect, James?
Reply all
Reply to author
Forward
0 new messages