6 Quick Takeaways From the Public FHIR Server Benchmark

6 Quick Takeaways From the Public FHIR Server Benchmark

Health Samurai released an open-source FHIR server performance benchmark on 2026-06-29 that compares Aidbox, HAPI FHIR, Medplum, and the Microsoft FHIR Server on the same hardware. The dashboard reruns daily and the repository is public. The number of metrics is large, but the operational story behind the snapshot fits into six takeaways worth knowing if you only have ten minutes for the report. For the surrounding context, the FHIR engineering reference collects the rest.

1. The Four Servers Land in a Wide CRUD Spread

The CRUD workload measured in requests per second has Aidbox at 5,212 RPS, HAPI FHIR at 3,058 RPS, Medplum at 1,420 RPS, and the Microsoft FHIR Server at 440 RPS. The top-to-bottom gap is wider than most procurement conversations assume. Hardware is the same across all four, so the spread reflects engine choices, not box choices.

2. Search Throughput Tells a Different Story

Search RPS across the string, date, reference, token, quantity, and composite families has Aidbox at 3,404, Medplum at 1,796, HAPI FHIR at 1,005, and the Microsoft FHIR Server at 261. Medplum places second on search even though it sat third on CRUD. The dashboard also notes that Medplum does not support composite search, and that the Microsoft server is particularly slow on quantity and composite queries.

3. Storage Footprint Varies by More Than 5x

The same 1,000-patient Synthea load lands as 4.24 GB on the Microsoft server, 6.83 GB on Aidbox, 11.8 GB on Medplum, and 22.6 GB on HAPI. The indexing strategy explains most of it: HAPI, Medplum, and the Microsoft server build search indexes on write, while Aidbox ships without default indexes. The 5x range between the smallest and the largest footprint is the headline storage number.

4. Daily Reruns Are Part of the Project

CI runs the suite every day against the latest server images and updates the public dashboard. A regression after a vendor release surfaces the next morning rather than at the next manual run. That cadence is the part that separates a one-shot vendor PDF from a public benchmark.

5. The Repo Is Open Source

The harness, the configurations, the Docker compose files, and the k6 scripts all sit in a public repository. Forks can change the resource limits, the dataset, or the workload, then publish their own numbers under the same harness. The benchmark, authored by Marat Surmashev at Health Samurai, treats reproducibility as the headline feature rather than the leaderboard.

6. Synthea Is Both the Strength and the Limit

Using Synthea, 1,000 patient records, around 2 million resources, gives every server an identical input. That makes the comparison fair. It also means the working set fits in memory on a 500 GB box, which is a baseline rather than a scale test. The project notes that the next post in the series tests at scale.

For platform-adjacent reading, 5 FHIR terminology servers for ICD-11 pilot programs in 2026 and top 5 FHIR form builders for pediatric cardiology intake in 2026 cover the surrounding layers. The benchmark is a starting point; the daily rerun is what makes it one worth checking back on.