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.