System requirements

Hardware

OMERO.server

The system requirements for OMERO.server vary greatly depending on image size and number of users. The minimum requirements should be easily exceeded by any recently bought hardware.

An OMERO.server specification for between 25-50 users might be:

  • Quad core 1.33GHz Intel or AMD CPU
  • 8GB RAM
  • 500MB hard drive space for OMERO.server distribution
  • Hard drive space proportional to the image sizes expected (likely between 10 and 100TB)

A specification for a server future-proofed for 3-4 years might be:

  • dual Intel Xeon Processor E5-2637 v3 4C 3.5GHz 15MB 2133MHz 135W
  • 256GB RAM
  • 2 x 200GB SSD RAID1 for OS
  • 2 x 400GB SSD RAID1 for PostgreSQL DB
  • 2 x 1.2 TB SAS RAID1 for scratch, log files, etc.
  • 10 GbE connectivity to a separate fileshare for the OMERO binary repository

The Image Data Resource has 32 CPUs and 128GB of memory but this is used to host 42TB of data in 14 million files so it far exceeds the requirements of a standard OMERO installation.

Storage

Hard drive space should be proportional to the image sizes expected. The drive space should permit proper locking, which is often not the case with remotely mounted shares. See the binary repository section for more information.

RAM

RAM is not going to scale linearly, particularly with the way the JVM works. You are probably going to hit a hard ceiling between 4 and 6GB for JVM size (there is really not much point in having it larger anyway). With a large database and aggressive PostgreSQL caching your RAM usage could be larger. Still, even for a large deployment, it is not cost effective to use more than a few GBs of RAM for this purpose. Performance and monitoring provides information about fine-tuning the server processes’ memory usage. In summary, depending on hardware layout 16, 24 or 32GB of RAM would be ideal for your OMERO server. If you have a separate database server more than 16GB of RAM may not be of much benefit to you at all.

CPU

CPU is not something that an OMERO system is usually ever limited by. However, when it is limited, it is almost always limited by GHz and not by the CPU count. Depending on hardware layout 2 × 4, 2 × 6 system core count should be more than enough. You are not going to get a huge OMERO performance increase by, for example, throwing 24 cores at the problem; a specification with a focus on higher clock speed is going to give you better performance.

Further examples

Example production server set-ups provides details on some production set-ups in use by OMERO admins, along with how many users and the amount of data they support, which you may find helpful.

OMERO.insight and OMERO.importer

The recommended client specification is:

  • Single core 1.33GHz Intel or AMD CPU
  • 2GB RAM
  • 200MB hard drive space for OMERO.clients distribution

Large imports may require 4GB RAM.

Client configuration

When performing some operations the clients make use of temporary file storage and log directories. The table below indicates the default values for each directory and the environment variables for overriding their locations:

Client directory Environment variable Default location (UNIX) Default location (Windows)
OMERO user directory OMERO_USERDIR $HOME/omero %HOMEPATH%\omero
Temporary files OMERO_TMPDIR $HOME/omero/tmp %HOMEPATH%\omero\tmp
Local sessions OMERO_SESSIONDIR $HOME/omero/sessions %HOMEPATH%\omero\sessions
Log files   $HOME/omero/log %HOMEPATH%\omero\log

Note that setting OMERO_USERDIR will also change the default location for the temporary files and the local sessions.

If your home directory is stored on a network, possibly NFS mounted (or similar), then these temporary files are being written and read over the network. This can slow access down.

See also

Troubleshooting performance issues with the clients
Troubleshooting section about client performance issues on NFS

Software

Each component of the OMERO platform has a separate set of prerequisites. Where possible, we provide tips on getting started with each of these technologies, but we can only provide free support within limits.

Package OMERO.server Java Python Ice PostgreSQL
OMERO.importer Required Required      
OMERO.insight Required Required      
OMERO.server   Required Required Required Required
OMERO.web Required   Required Required  
OMERO.py Required for some functionality   Required Required  
OMERO.cpp Required for some functionality     Required  

For full details on which versions of these are supported for OMERO UNKNOWN and how we intend to update these going forward, see the Version requirements section.