Introduction

The split server concept splits the traditional SystemWeaver server structure into two processes for better stability. This article describes the SystemWeaver Split Server and how to replace an existing swServer installation.


Examples of the Split Server



Together with a swSlaveServer:


The Split Server consists of two executables:


Executable Files

swDBServer.exe

The swDBServer.exe is the main process which contains the connection to the database, cached data and all API logic.


Systemite.SystemWeaver.TcpSubServer.exe

The Systemite.SystemWeaver.TcpSubServer.exe manages the communication through TCP with all the clients and their connections. You should never start the Systemite.SystemWeaver.TcpSubServer.exe directly. It is automatically started by the swDBServer.exe when it is running.


Configuration Files and Logging

The swDBServer.exe is the main executable. For compatibility with swServer.exe and swTestServer.exe, it uses the same .ini and .props files as :

  • swServer.ini
  • swServer.props

The Systemite.SystemWeaver.TcpSubServer.exe does not need an .ini file. It gets its settings from the swDBServer.exe. It does, however, need its own .prop file for logging:

  • Systemite.SystemWeaver.TcpSubServer.exe.nlog


So, with a split server, there are two .log files – one for the swDBServer (swServer.log) and one for the Systemite.SystemWeaver.TcpSubServer (TCPSubServer.log).


Setting up and Running the Split Server


Prerequisites

  • All servers and clients have been stopped
  • A backup copy of your existing SystemWeaver installation is available should a rollback be necessary
  • You have received a delivery of the SystemWeaver SplitServer from Systemite Support
  • You have received a new license file, if applicable, from Systemite Support


Follow the below steps to set up the required files and run the new split server.

  1. The SplitServer directory you received contains some entirely new files. They are:
    • CARoot.pfx
    • liblz4.dll
    • NLog.dll
    • swDBServer.exe
    • Systemite.Lz4.dll
    • Systemite.Lz4.pdb
    • Systemite.SystemWeaver.TcpSubServer.exe
    • Systemite.SystemWeaver.TcpSubServer.pdb
    • Systemite.SystemWeaver.TcpSubServer.exe.nlog
    • vcruntime140.dl
  2. Add the files from the SplitServer directory to the server directory where your existing swServer.exe is located. Any files in the existing server directory that are named the same should be overwritten. 
  3. The existing swServer.ini and swServer.props should remain in the existing server directory, as they will continue to be used by the new swDBServer.exe. The swServer.exe will no longer be used, but we recommend that you leave it in the directory for now.
  4. Open the Systemite.SystemWeaver.TcpSubServer.exe.nlog file and update the fileName= line to indicate the TCPSubServer.log file name and the correct path to it in your installation. This will differentiate it from the swServer.log and ensure two separate log files.
  5. Save your changes.


    Note: Make sure that the actual log file specified in the new Systemite.SystemWeaver.TcpSubServer.exe.nlog file is different from the log file specified in swServer.props.


  6. Open the installation’s existing swServerMonitorService.settings file.
  7. Replace ‘swServer.exe’ with ‘swDBServer.exe’.

  8. Save your changes.

  9. When you are ready to run the new split server, restart the SystemWeaver Monitor Service.


Activating DLQ Logging

When a split server is initialized for the first time, we typically recommend that you turn on DLQ logging. Here are the steps to do this:

  1. Stop the master server (and slave server(s), if applicable).
  2. In the server directory, open the swServer.ini.
  3. Add a line for DLQ logging:
    DLQ=True
  4. Save your changes.
  5. Restart the server(s).

The dlq file will generate in the location of the TcpSubServer and will be named something like this example:


Systemite.SystemWeaver.TcpSubServer_2018-05-17_042300.dlq


If we request this file for troubleshooting purposes, make a copy and upload it to SystemiteNAS.


In Case of Error

If you are in need of support relating to the Split Server, feel free to contact support@systemite.se. We can assist with SystemWeaver server application related issues. We may ask for you to provide the log files: 

  • swServer.log
  • swTCPSubServer.log


If you are running DLA logging, it may be sufficient to provide us with that alone.