Skip to main content
EdgeVis Server hardware sizing guide

This article outlines how to size a PC or virtual machine to provide good performance based on the size of your infrastructure.

Updated over 2 months ago

Introduction

This article outlines how to size one or more server/virtual machines for depending on how large an installation you require.

This article covers both cloud and 'on-premise' deployments (both physical and VMs).

EdgeVis Server can be installed on either Linux (recommended) or Microsoft Windows.

Common hardware requirements

The most important factors are CPU core count and memory, and specific guidance on these is provided below. Regards of size, the following requirements are always required:

  • At least 4GB free disk space.

  • A static IP address (both on the local network, and externally to the Internet).

  • An internet connection that can support the combined bandwidth needs of the encoders and viewers.

General hardware guidance

  1. For on-premise deployments, we list 'core counts' following this guidance:

    1. Use a minimum of a 10th Generation Intel or Zen 2 AMD or above.

    2. Count real cores not threads if the CPU supports Hyper-Threading.

    3. Prefer CPUs models which only offer high-performance cores. Efficiency cores have much lower performance.

    4. Do not mix performance and efficiency cores within the same virtual machine.

  2. EdgeVis server generally uses 2 CPU cores under load. For modern high-core count CPUs, we recommend deploying multiple EdgeVis servers in virtual machines to make full use of the CPU.

  3. We can run on consumer hardware but recommend server grade for production deployments - i.e. Xeon or Epyc with ECC memory.

General operating system guidance

  1. We recommend Linux over Windows, however both operating systems offer the same feature set.

  2. Non-LTS or consumer operating systems (such as Windows desktop) are not supported for anything but the smallest deployments.

  3. Centos is EOL in June 2024 so will no longer be supported. For RPM we only test against Red Hat 8 & 9.

General cloud guidance

  1. Avoid the use of burstable instance types in cloud deployments (t series in AWS and b series in Azure). They generally offer low baseline performance and can result in unexpected server behaviour as you scale up encoder and viewer counts.

  2. Pick the latest or previous generation instance type in Cloud Deployments.

Linux requirements

EdgeVis Server is supplied as both an RPM and DEB file allowing for use on different flavours of Linux.

Supported Linux distributions

    • 20.04 (EOL Apr 2025)

    • 22.04 (EOL Apr 2027)

    • 24.04 (EOL Apr 2029)

    • 8 (EOL 2029)

    • 9 (EOL 2032)

Recommended minimum specifications

Incoming

EdgeVis Streams

Stream

Viewers

On-premises PC

AWS EC2
Cloud Instances

Azure
Virtual Machines

1-250

1-100

  • 2 Cores

  • 8GB RAM

  • m6i.large

  • m6a.large

  • m7i.large

  • m7a.large

  • D2as v5

1-250

100-250

  • 4 Cores

  • 8GB RAM

  • c7i.xlarge

  • c7a.xlarge

  • c7i.xlarge

  • c7a.xlarge

  • D4as v5

If you expect more than 250 incoming EdgeVis streams or viewing streams you should use a cluster of multiple servers to provide scalability and resilience - see the clustering table below for an indication of how many server instances are recommended.

Microsoft Windows requirements

EdgeVis Server is supplied as an installer that can be installed on Windows.

We strongly recommend using Windows Server (over standard Windows versions) and LTSC (Long term servicing channel) versions.

Supported Windows releases

For single server installations (with less than 100 incoming streams / viewers) we support:

  • Windows 11 22H2 or newer
    (we recommend you use Windows 11 Enterprise LTSC)

For larger and clustered installations we only support:

  • Windows Server 2019 LTSC (EOL 2029)

  • Windows Server 2022 LTSC (EOL 2031)

Windows recommended minimum specifications

Incoming

EdgeVis Streams

Stream

Viewers

On-premises PC / VM

AWS EC2
Cloud Instances

Azure
Virtual Machines

1-100

1-100

  • 2 Cores

  • 8GB RAM

  • m6i.large

  • m6a.large

  • m7i.large

  • m7a.large

  • D2as v5

100-250

100-250

  • 4 Cores

  • 16GB RAM

  • m6i.large

  • m6a.large

  • m7i.large

  • m7a.large

  • D4as v5

If you expect more than 250 incoming EdgeVis streams or viewing streams you should use a cluster of multiple servers to provide scalability and resilience - see the clustering table below for an indication of how many server instances are recommended.

EdgeVis Server Clustering

Once you exceed 250 incoming video streams you should use multiple servers to create a cluster. This also provides a failover capability, as all servers in a cluster will take over the load should one of the servers fail.

Edgevis offers two types of clustering:

  • Standard
    The backend database is installed alongside the main EdgeVis server application on the same PC. The database is installed automatically as part of the standard EdgeVis installer.

  • Enterprise
    The backend database is installed onto its own PC so it doesn't have to contend with the main server application for resources. There should be two separate database instances to provide database resilience.

This table shows how many server instances you'll need, based on

Incoming
EdgeVis
Streams

EdgeVis
Server
Instances

Separate
Database
Instances

Standard clustering

250-500

2

n/a

500-750

3

n/a

750-1000

4

n/a

Enterprise clustering

0-1250

5

2

1250-1500

6

2

1500-1750

7

2

1750-2000

8

2

2000-2250

9

2

2250-2500

10

2

Enterprise database recommendations​

For Enterprise deployments we recommend the following specification for hosting your databases.

Incoming
EdgeVis
Streams

On-premises
PC / VM

AWS
databases

Azure
Virtual Machines


1000-1500

  • 2 Cores

  • 8 GB

  • db.t4g.large

  • db.m7g.large

  • db.m6i.large

  • D2as v5

1500-2500

  • 4 Cores

  • 16 GB

  • db.t4g.xlarge

  • db.m6g.xlarge

  • db.m6i.xlarge

  • D4as v5

Note: We support burstable instance types for AWS Cloud Database instances if < 25% of the streams are configured with alarm rules.

Did this answer your question?