Photo Supreme documentation

Search all manuals

Enter at least two characters.

    Manual contents
    1. Introduction
    2. Server Hardware

    Photo Supreme Server System Requirements

    Server Hardware

    Use a dedicated configuration as the server. It is recommended to use a configuration that is not being used to run other software or tasks.

    CPU type

    This depends on the number of concurrent users that will make use of the software.

    At least 2 cores, preferably 4 or more cores

    Internal memory

    This depends on the number of concurrent users that will make use of the software.

    At least 8GB internal memory. 16GB or more is recommended.

    Drive type

    Database storage on an SSD

    Image file storage on SSD or HDD

    Drive space

    This depends mainly on the volumes of image files that need to be managed in Photo Supreme

    At least 20GB of free disk space

    Per 100,000 images an additional drive space of 40GB is needed. Best to keep a margin and use 50GB per 100,000 images.

    Operating System

    The server side can run on Windows, macOS or Linux. Should be capable of running PostgreSQL.

    Windows 10 Pro or Windows Server 2012 or higher

    macOS 10.15 or higher

    Designing the Machine

    When designing a bare metal server, there are a few things that need to be taken into consideration. These are CPU, RAM, Disk, and network card in a minority of cases.

    CPU

    Selecting the right CPU is essential for optimizing database performance. When working with large datasets, CPU speed plays a key role, but a larger L3 cache can also significantly enhance performance. More and faster cores enable the operating system and database to utilize resources more efficiently. Additionally, CPUs with larger L3 caches are particularly beneficial for handling extensive datasets.

    CPUs typically have at least two caches: L1 (primary) and L2 (secondary). The L1 cache, embedded within the CPU core, is the smallest yet fastest. The L2 cache, slightly slower but larger, serves as a buffer to supply data to the L1 cache.

    Unlike L1 and L2 caches, which are dedicated to individual cores, the L3 cache is shared among all cores. While slower than L1 and L2, L3 cache is still significantly faster than RAM. A larger L3 cache improves CPU performance when processing large datasets and enhances efficiency in executing parallel queries.

    RAM

    RAM is the most cost-effective hardware component and plays a crucial role in database performance. Operating systems make full use of available memory by caching as much data as possible, reducing disk I/O and improving query speed. When purchasing new hardware, prioritizing maximum RAM is recommended. Expanding RAM later can be more costly, both financially and technically, as it may require system downtime unless the system supports hot-swappable RAM.

    Disk

    If the application is I/O-bound (requiring frequent reads and/or writes), selecting a faster storage solution can greatly enhance performance. Options such as NVMe and SSD drives offer significant improvements.

    Separating tablespaces and using different drives for indexes and data can boost performance, particularly when running the database on SATA drives. However, this is generally unnecessary for SSDs and NVMe drives. When implementing RAID, RAID 10 is the recommended configuration for disks storing database files.

    Network card

    Although network cards may not seem crucial to database performance, as data volumes grow significantly, faster or bonded network cards can greatly improve the speed of base backups.