Skip to content

System Requirements and Capacity Planning ​

About 11 min read

This page describes the operating system, hardware, software and network requirements of the 2WinScada server and how to choose hardware for the size of the project.

Operating system ​

Setup runs only on 64-bit (x64) Windows. Before installation starts, it checks the Windows edition, the build number and the vendor's support period; on an edition that is not in the list or whose support has ended, install, upgrade and repair stop before they begin. ARM64, 32-bit Windows and Windows Server Core / Nano Server are not supported.

Windows editionEnd of support accepted by Setup
Windows 11 Pro / Pro N 25H22027-10-12
Windows 11 Pro / Pro N 26H12028-03-14
Windows 11 Pro / Pro N 26H22028-10-10
Windows 11 Enterprise / Enterprise N 23H22026-11-10
Windows 11 Enterprise / Enterprise N 24H22027-10-12
Windows 11 Enterprise / Enterprise N 25H22028-10-10
Windows 11 Enterprise / Enterprise N 26H12029-03-13
Windows 11 Enterprise / Enterprise N 26H22029-10-09
Windows 11 Enterprise LTSC 20242029-10-09
Windows 10 Enterprise LTSC 20192029-01-09
Windows 10 Enterprise LTSC 20212027-01-12
Windows 10 IoT Enterprise LTSC 20212032-01-13
Windows Server 2019 Standard / Datacenter (Desktop Experience)2029-01-09
Windows Server 2022 Standard / Datacenter (Desktop Experience)2031-10-14
Windows Server 2025 Standard / Datacenter (Desktop Experience)2034-11-14

Windows 10 Pro / Pro N 22H2 is accepted for compatibility with existing sites; a supported version is recommended for new installations.

INFO

The list comes with the installation package and may be updated in new versions. Setup checks whether a computer is suitable before the first screens and shows the reason if it is not.

Hardware ​

UsageMinimum RAMNote
Full stack: SQL Server, the archive database (QuestDB), IIS and the 2WinScada services on the same computer8 GB8 GB only with the Panel PC preset and for small projects. For server sizes, see the capacity table.
Kiosk client that only shows a 2WinScada server4 GB2WinScada is not installed on this computer.
Computer with 2 GB RAM—Not supported for the 2WinScada stack; at most it can be a browser that shows a server.

On a computer with less than 8 GB RAM, Setup asks for confirmation before it continues when a local SQL Server or QuestDB is selected.

Disk space ​

  • Setup unpacks the installation content to the system drive. The system drive needs free space equal to the package size plus 1 GB.
  • If a local SQL Server 2025 Express is installed, the system drive needs at least another 6 GB of free space.
  • During an upgrade or repair, Setup backs up the database to the SQL backup directory. This directory must have free space equal to the allocated size of the database plus 1 GB.
  • The space used by archive data depends on the size of the project. See Disk and retention period.

Software ​

Components installed by Setup ​

The following are included in the installation package and are installed by Setup if they are missing:

  • IIS and the required IIS modules (URL Rewrite, Application Request Routing, CORS),
  • the .NET 10 runtime and the ASP.NET Core runtime,
  • optionally a local SQL Server 2025 Express,
  • optionally a local QuestDB.

If a compatible .NET version is already installed, it is not installed again.

SQL Server ​

  • New local installation: Setup installs SQL Server 2025 Express with Windows authentication. The instance name is chosen in the wizard; the default is SQLEXPRESS (server name localhost\SQLEXPRESS). The data folder where the database files are written can also be chosen in the wizard; for example a D: drive separate from the operating system disk. SQL Server 2025 Express allows 50 GB per database.
  • Existing server: An existing SQL Server instance (for example SQL Server 2022 or 2025) is used as it is. Setup never upgrades an existing instance during an upgrade or repair. Moving from SQL Server 2022 Express to 2025 is a separate maintenance task done by hand after a full backup.
  • Remote server: A remote SQL Server needs a separate application login and password. Use an explicit server name, instance name and port instead of Named Pipes or a client alias.

SQL Server 2025 backups

A backup of a database created in SQL Server 2025, or upgraded to 2025, cannot be restored to SQL Server 2022.

QuestDB ​

When a local QuestDB is installed, Setup recommends a memory profile based on the computer's RAM. The profile can be changed. Details: QuestDB memory profile.

Permissions ​

  • Setup must be opened with an account in the local Administrators group, using Run as administrator.
  • If an existing SQL Server is used, the installation account must have permission to create databases and logins. The application login is separate from the installation account; Setup gives the application login only the read, write and execute permissions 2WinScada needs to run, and gives the main API service a limited additional permission for restoring configuration backups.
  • For the SQL backup to be taken during an upgrade or repair, the SQL backup directory must be an absolute local disk path on the SQL server that the SQL Server service account can write to (for example D:\2WinScadaBackups). A network share (UNC path) is not accepted. For the free space check, the installation account needs the VIEW SERVER PERFORMANCE STATE permission on SQL Server 2022 and later, or VIEW SERVER STATE (or the sysadmin role) on SQL Server 2017 CU1–2019.

Path and name rules ​

  • If a local QuestDB will be installed, use only ASCII characters in the installation directory (for example the default C:\Program Files\Turkuvaz Inovasyon); do not use Turkish characters.
  • The QuestDB data folder must consist of ASCII characters and must not contain spaces (for example E:\2WinScada\QuestDbData).
  • The SQL database name must be 1–128 characters long and contain only English letters, digits and underscores (_). Spaces, hyphens and Turkish characters are not allowed; master, model, msdb and tempdb cannot be used.

Network and ports ​

PortUsageMust it be reachable from outside?
TCP 443Web interface (HTTPS), API and live data connectionYes
TCP 80Web interface (HTTP) or redirect to HTTPSOptional
TCP 7100Main API service (used through IIS)No
TCP 7102 / 7103Notification / RecordDevice servicesNo
TCP 7106 / 7107MQTT Publisher / MCP ServerNo
TCP 9000, 9003, 8812, 9009QuestDB (HTTP, health, PGWire, ILP)No
TCP 1433, UDP/TCP 1434SQL Server and SQL Server BrowserNo

In new installations, the web interface, the API and the live data connection are published on the same address and port; browsers only need access to the web port. For installations upgraded from older versions, check the IIS layout with the Exposure check. If SQL Server or QuestDB runs on another computer, the 2WinScada server must be able to reach these ports.

The ports can be changed during Setup; changed ports must not conflict with each other. To expose the server to the internet, see Internet and Network Access.

Capacity planning ​

The values below are planning values for a single server (the 2WinScada services and QuestDB on the same computer); they are not a service level commitment. The device and tag rights granted by the license are a separate matter; this page covers only technical capacity.

Short answer ​

  • Recommended range: at most 10,000 live tags, at most 8,000 archived tags, total archive writes of at most 250 rows per second, at most 2,000 actual tag changes per second and at most 100 concurrent users (4 cores, 24 GB RAM).
  • Conditional range: 10,000–20,000 live tags, 8,000–10,000 archive tags, 250–500 rows per second. This range requires a project-specific load test and at least 32 GB RAM.
  • Out of scope: More than 20,000 live tags, redundant (hot standby) operation and multi-server deployment are outside the scope of this manual; for such projects, contact the 2WinScada team. In single-server installations, plan a UPS, monitoring and regular backups for the continuity of the server, SQL Server and QuestDB.

Hardware tiers ​

TierLive tagsArchive tagsArchive rows/sUsersCPURAMDiskQuestDB profile
Panel PC 8 GB (full stack)≤ 1,500≤ 500≤ 50 (period ≥ 10 s)≤ 52–4 cores8 GBIndustrial SSD ≥ 128 GB4 GB
Small≤ 2,000≤ 1,000≤ 100≤ 254 cores16 GBSSD ≥ 250 GB16 GB
Reference (recommended range)≤ 10,000≤ 8,000≤ 250≤ 1004 cores24 GBSSD/NVMe 500 GB – 1 TB16 GB
Conditional10,000 – 20,0008,000 – 10,000250 – 500100 – 1508 cores32 GBNVMe 1 – 2 TB32 GB
Not supported> 20,000> 10,000> 500> 150————
  • The Small tier and Panel PC values are planning values. For Panel PC projects, take a measurement of at least 72 hours on the target hardware before commissioning.
  • If SQL Server runs on the same computer, reserve its memory share in addition to the table.
  • At least 6 GB or 25% of the total RAM (whichever is larger) must always remain free on the computer. This rule does not apply to the Panel PC tier; there, the measurement must show that there is no continuous paging.
  • The live tag limits assume that the average update period of the tags is at least 1 second and that users do not subscribe to all tags at the same time. Adding RAM alone does not remove the user or archive tag limit.

Archive load ​

The number of archive tags is limited not only by the write rate but also by the number of archive definitions; in the table below, this limit is shown as "table limit".

The total archive load is calculated as follows:

rows/s = Σ (1 / archive period in s) + number of change-based records per second

Archive periodTags at 250 rows/sTags at 500 rows/s
1 s250500
5 s1,2502,500
10 s2,5005,000
30 s7,50010,000 (table limit)
60 s8,000 (table limit)10,000 (table limit)

Choose the archive period according to the needs of the process; archiving all tags every second quickly exceeds the recommended range. For noisy analog values, use the deadband setting if the protocol supports it.

When QuestDB cannot be reached, archive rows are kept in memory for a limited time. During long outages, or if the service restarts, these rows can be lost; monitor the QuestDB service and resolve outages quickly.

Disk and retention period ​

days ≈ disk GB × 0.8 × 10⁹ / (rows/s × 86,400 × 64–128 bytes)

250 rows per second produce about 1.4–2.8 GB of data per day; a 1 TB disk holds about 290–580 days. A larger disk increases the retention period, not the write rate; NVMe disks are recommended for heavy archiving and queries. The retention period is set in months in the archive definitions.

Include the logs in the disk plan: QuestDB logs use at most 200–500 MB depending on the profile, and the logs of each 2WinScada service use at most 750 MB (15 files × 50 MB, 15 days).

QuestDB memory profile ​

For a local QuestDB, Setup recommends one of the following profiles based on the computer's RAM:

ProfileRecommended for RAMQuestDB data memory limitSingle query limit
4 GB system memoryLess than 8 GB; Panel PC preset1 GB256 MB
8 GB system memory8–15 GB60% of RAM512 MB
16 GB system memory16–31 GB70% of RAM1 GB
32 GB or more system memory32 GB and more75% of RAMUnlimited
  • In addition to this limit, QuestDB uses Java memory; Java memory is at most a quarter of the RAM. With the 4 GB profile, plan about 2 GB in total for QuestDB.
  • With small profiles, long-term trend and report queries run more slowly and stop with an error if they exceed the single query limit.
  • The old 2 GB profile is no longer offered. A system installed with this profile keeps it during upgrade and repair; moving it to the 4 GB profile is recommended.
  • The profile sets the QuestDB settings at the first installation. Upgrade and repair do not change the existing QuestDB memory settings; changing the profile is a separate maintenance task.

What to measure on site ​

During commissioning and after every major project change, monitor the following for at least 24 hours:

  1. The number of channels, devices and live tags per protocol; the number of archive definitions and the distribution of their periods; the number of alarms.
  2. The calculated archive rows/s value and the actual QuestDB disk growth over 7 days.
  3. The average and peak CPU in total and for the 2WinScada service and QuestDB; the lowest free RAM. Total CPU must stay below 60% continuously.
  4. The number of concurrent users and the number of tags on the heaviest screens.
  5. For polling protocols, the scan period and the actual response time of the device.

If the results are outside the recommended range, reconsider the hardware, the archive periods or the project scope.

2WinScada 2.10