This article outlines minimum software and hardware requirements for deploying the SystemWeaver server. Hardware requirements may vary based on utilization.
- Software Requirements
- Hardware Requirements
- What's Next?
Supported Operating Systems
The SystemWeaver server runs on all versions of Windows that are currently supported by , both desktop and server OS without restrictions. With that being said, we recommend the following Windows editions:
- Windows 10, Professional or Enterprise
- Windows Server 2012 R2 or later
Microsoft .NET Framework
- SystemWeaver R38 or earlier: .NET Framework version 4.6 or later
- SystemWeaver R39 or later: .NET Framework version 4.7 or later
Visual C++ Redistributable for Visual Studio
We only support 64bit versions of the server.
With the exception of RAM memory, the requirements for a SystemWeaver server are very lean, and easily satisfied by any modern hardware.
Installation Disk Size
The actual software needs 100MB of disk space. We strongly recommend installing the server application on a local drive of the server machine instead of on a network drive.
Data Disk Size
This depends entirely on your use case. How much data will you be working with and storing in the system? We have installations from 100MB up to 10s of GB. In addition to the actual memory for storing the database, you should make sure that you have the means to backup the database somewhere. If you are using a SQLite database, the data disk size applies to the SystemWeaver application server since the database is ideally stored there (for optimized performance) and not on a different server machine.
|Disk type for where the SQLite database file is located can affect write performance to some degree. Depending on the actual disk hardware, SSD is usually faster.|
With regards to memory, this is where a SystemWeaver Server needs something in order to keep access performance high. It has in-memory database technology so you should make sure that you have enough RAM, and monitor it as your database grows.
The memory allocated to the main server should be at least 3 times the size of the database. For example, if the database is 10GB, you need a minimum of 30GB RAM for the server to function. If slave servers are included in the installation, the memory allocated to the main server should be equal to the number calculated as described above (e.g., 30GB) X 3. So, for this example, 90GB.
If running mirror servers, the memory allocated to the main server should be at least 3 times the size of the database. Likewise, the memory allocated to each mirror server should be at least 3 times the size of the database.
If too little RAM is available, parts of the database may become swapped out to disk which will drastically reduce performance. We recommend regular monitoring of the resource utilization, e.g., by using monitoring functions in Windows like the Task Manager, etc. in order to detect the need for upgrades of the server platform.
The SystemWeaver server can run on any CPU, but needs 2 cores to function. At least 8 is recommended.
What is important for maximal performance is single core performance. So if optimizing, go for CPUs with high single core performance rather than CPUs with many cores.
|Note: You will not necessarily get better performance on hardware that has, for example 256GB memory, 16 core (3GHz for each core) and I TB SSD, compared to a “normal” server (64GB memory, 8 core and ITB HDD). A faster CPU is a determining factor. More cores or more memory are not the determining factors, unless you reach some ceiling, e.g., very large number of connections or swapping memory.|
File Repository Disk Space
If you want to use the file repository feature, i.e., the ability to add attachments to items and issues, you'll need disk space for this. The attachments are not stored in the main database but rather in a separate, single sqlite database or in a dedicated file structure (the later is recommended). Regardless of which option is selected, the repository must reside on local disk on the same server machine that is running the SystemWeaver server executable. The size needed depends entirely on how many and how large of files your users will put into the system. This can be everything from 10MB to terabytes. We recommend 300 GB of free disc space. If you predict that this will be an often-used feature, we recommend that you put this on a partition were you can increase as the needs of the users increase.
With regards to port requirements, SystemWeaver only needs the port that will be used to be open. For example, if users will be logging in to the main server using port 1234, then only 1234 needs to be open. If a user is logging in to a mirror server using port 5678 (which connects to the main server using port 1234, then only port 5678 needs to be open on the mirror server. Closing port 80 has no effect on SystemWeaver. We recommend chosing a number greater than 1000.
The closer the main server is located to the users, the lower the network latency. If the main server must be in a different geographic location, or if users are spread out geographically, we recommend implementing our mirror server solution.
Using a Server Alias
We recommend the use of a server alias not only to hide the path to your data, but also to allow for smoother machine changes for your SystemWeaver server installation. A server alias is especially suitable for:
- Use of a ClickOnce Client wrapper
- Use of the swExplorerLauncher
- Integrations with other tools where you store the server name
- Easy distribution of server address to users
An alternative to aliases is, of course, to register a domain name (a record), which is the method you must use for accessing the system outside your local network/VPN.