This article outlines minimum software and hardware requirements for deploying the SystemWeaver server. Hardware requirements may vary based on utilization.
Software Requirements
Supported Operating Systems
The SystemWeaver server application runs on all versions of Windows that are currently supported by Microsoft, both desktop and server OS without restrictions.
Microsoft .NET Framework
- Version 4.7 or later
Visual C++ Redistributable for Visual Studio
We only support 64bit versions of the server.
Supported Databases
- SQLite (default and recommended)
- Microsoft SQL Server (Checklist for MS SQL Database)
- Oracle
See Summary of Supported Databases for more information about the supported databases.
Hardware Requirements
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. Having the database on the same server machine as the SystemWeaver server application is recommended. If this is not possible, the database should be located on a server near the application server to minimize latency and network connection problems. See Database Management for further information about databases.
Tip: 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. |
Memory (RAM)
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 for the in-memory caching, 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 startup process and some additional to handle calls. The recommendation would be approx. 50GB.
If running mirror servers, the memory allocated to the main server should be as described above. Likewise, the memory allocated to each mirror server should also 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.
CPU
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 file 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.
Port
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.
Location
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.
Recommendations
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.
What's Next?
IT Administrator Guidelines for Optimizing Performance