The S3FS Translation Tax
If you’re setting up OME-Zarr for high-throughput microscopy, you probably assume you need to use S3 for the entire pipeline. That’s a mistake that will bottleneck your local ingest.
OME-Zarr is an encapsulation format and programming library for storing microscopy pictures and bundling metadata. While OME-Zarr supports object storage, it adds unnecessary friction for local, high-speed microscope ingestion.
When you configure the OME-Zarr library’s S3 interface locally, you aren’t actually using native S3. The library runs S3FS to emulate a local file system on top of object storage.
Your application makes a POSIX call, which translates to an S3 object request, which the storage system then translates back to POSIX to write to the physical ZFS disks. You’re paying two performance penalties for translation hops you don’t need.
The Native NFS Bypass
Cut out the middlemen completely. OME-Zarr’s own documentation recommends local file system access.
Since your clients are Linux anyway, point the library directly at a TrueNAS NFS export. This bypasses two of the three translation layers entirely. By hitting the file system directly, you get the ultimate performance and scalability out of your microscopes.
When S3 Actually Makes Sense
Pushing files over the WAN to the cloud with S3 absolutely makes sense. The WAN pipe is almost always your bottleneck there anyway. But you should do that after ingest.
What to do next:
- Check your library config. Point your local OME-Zarr ingestion target to a native NFS share.
- Automate the handoff. Once data lands on TrueNAS via NFS, use TrueNAS Cloud Sync to push it over S3 to your cloud provider. One platform handles both protocols.
The bottom line
You don’t need to pay a performance tax for modern data formats. By dropping S3FS emulation for native NFS, you stop leaving money on the table.
Talk to a TrueNAS engineer about an architectural review for your lab.
FAQ
What is OME-Zarr?
OME-Zarr is a programming library and encapsulation format used for storing microscopy pictures and compressing associated metadata.
Why is local S3 ingest slow for OME-Zarr?
The OME-Zarr library’s S3 application interface relies on S3FS to emulate a local file system. This introduces heavy translation latency—from POSIX, to S3, and back to POSIX—compared to native file system calls. The OME-Zaar documentation mentions that the direct filesystem access (the same that NFS would use) is the most common and recommended storage path.
How do I push local OME-Zarr data to the cloud?
Ingest the data locally via the NFS protocol for maximum speed, then use TrueNAS Cloud Sync to automatically push the files over S3 to your cloud provider.
