System Config
In this article
Data Threads, how does it all work?
System settings are settings that affect the way the DD communicates between hosts.
Note: These values should not be played with, if you do not know what they stand for. Most of them require a restart of the DD to take effect.
Field | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Base Port | The Base Port used for all local DD Processes. Each process has an ID and the Port number for that process will be Base Port + Process ID. This generates the incoming port number for the process that will be used for debugging and other communication. It is not necessary to open these ports in a firewall, unless you want to be able to remotely debug the system. | |||||||||||||||
Data File Size | Maximum size of a Job Data File allowed to be transferred between DD hosts. | |||||||||||||||
Message Size | The maximum size of messages allowed to be sent between Processes and Hosts. This includes TS Requests, Configuration messages, and Result Messages. If a message is too large, an error message will appear when sending TS Request. Tip: Increase this value to allow larger message transfer. | |||||||||||||||
Compress Mode | Default Compression Mode to use on Data Files. ZipStream is the same as used by DD2, but this setting will not affect DD2 transfer.
It can take a load off the Store Server to set Compression mode to None on the POS that is sending Transactions in DD mode to a Store Server on the same network. These jobs are small and there is no need to compress the data. Compression is only needed on slow connections via WAN. If jobs are large and DD is running on a 32 bit OS (x86), DD may run into Memory issues with compression. ZipFile mode allows larger files on a 32 bit OS. When using Size parameters to split the files into file segments, it will be applied to that mode even if it is not set as Default mode. Compression mode can be changed in the Job setup. |
|||||||||||||||
ZipFile Size | The size of each file segment when using ZipFile mode. If set to 0, no splitting will be done and only one big file will be generated. | |||||||||||||||
7Zip File Size | The size of each file segment when using SevenZip mode. If set to 0, no splitting will be done and only one big file will be generated. | |||||||||||||||
Shutdown Wait | The time DD Service waits between sending shutdown message to each DD Process when shutting down the DD Service. | |||||||||||||||
Router Wait | The time DD Service waits after starting the Router process before starting other DD processes, as it may take some time for the Router process to load all pending jobs from work folder back into memory. Also used for idle time between Data File check and cleanup. | |||||||||||||||
Kill Wait | The time DD Service waits for all processes to shut down before a kill command will be sent out to kill remaining processes. | |||||||||||||||
Multi Job Processing | Works only for SQL Connection. Tells DD to allow processing of more than one Job type at same time. This will span more threads and requires more user licenses from the SQL Server. You also need to increase the Data Thread Limit to allow more job processing at same time. Note: It is recommended to set the Database Timeout to 0, under Data Config, when using this mode. |
|||||||||||||||
Forward Thread Limit | Sets the limit of threads used to make a connection to remote hosts and when forwarding jobs at the same time. | |||||||||||||||
Data Thread Limit | Sets the limit of threads used to connect to databases and process jobs at same time. If CFront mode is active under App Config, this sets the number of Processes used to process CFront jobs (fin). Note: Each Data Thread takes up user license on the database server. |
|||||||||||||||
Data Thread Priority | Sets the Priority on Database Thread for Job Processing. This does not affect the Interactive (TS) processing. | |||||||||||||||
Lock Code | Password for remote DD Configuration. If set, DD will ask for password when sending configuration update. Lock code can only be set or changed on local configuration, not after you press the Get Config button. This is to prevent remote changes on the Lock code. | |||||||||||||||
ZipFile / 7Zip Pwd | Password to protect ZipFile or SevenZip data files. The password has to be set on both Source and Destination DDs. | |||||||||||||||
Open Timeout | The time provided for a connection to open before the transport raises an exception. | |||||||||||||||
Data Send Timeout | The time provided for a write operation to complete before the transport raises an exception when sending job data files. | |||||||||||||||
Config Send Timeout | The time provided for a write operation to complete before the transport raises an exception when sending configuration commands and TS requests. | |||||||||||||||
Receive Timeout | The time that a connection can remain inactive, during which no application messages are received before it is dropped. | |||||||||||||||
Max Connections | The value that controls the maximum number of connections to be pooled for subsequent reuse on the client and the maximum number of connections allowed being pending dispatch on the server. | |||||||||||||||
Reset Config | Send the Reset command to DD host to clear the Configuration file and load default configuration data as it is on clean install. |
Timeout values
There are a few timeout values to adjust. To let the POS not hang if a store server is down, you can set the TS Timeout value in the Distribution Location card. This affects the total transfer time that POS is allowed to take when sending request to DD/TS. If the value is not set there, the Open and Send Timeouts in System Config will apply. If DD/TS have not finished processing the request before the TS Timeout expires, the request will be canceled. So make sure that this value is long enough for the request to finish, otherwise it will end a good request prematurely.
These values need to be set in the Configuration on the POS Host. You can run the DD Configuration tool to set these values there, even if the Host is not running any DD Services.
When setting these values on a host running a DD Service, make sure the send value is long enough for the largest jobs to be able to be forwarded to the next host. Also, do not set the TS Timeout values in the Distribution card for DD Jobs sent by the Scheduler, as it may let the Scheduler fail sending jobs to DD Service.
Data Threads, how does it all work?
DD uses two threads to process Database jobs. One is for Query jobs and the other for Insert/Update. This means that the DD can be processing both jobs at the same time. DD does this for each host that it is connecting to, so if the jobs are set up to use databases on two different hosts, the DD will have two Database threads for each host: one doing query and one for “done doing insert/update”.
The Data Thread Limit value limits DD on how many Databases DD will process at same time. If the value is 2, the DD can process two Databases at the same time, and can process both queries and insert jobs for each host, so a total of four threads can be running. If this value is set to a high value, the DD will take up most of the CPU power on the host.
When using CFront mode (App Config), Data Thread Limit controls how many Processes will be started to process CFront jobs. Because CFront is not designed to handle multi-thread processing, this is needed so DD can process more databases at same time without running into error.
You can also set the Thread Priority for the Database threads. If you set a low priority, even if the DD has taken up 100% CPU load, other programs on the computer should not become slow in operation. This priority only affects the Job Processing; it does not affect interactive requests like TS Queries.
Note: There is no one correct way of setting these values. It all depends on what kind of data is being replicated and how powerful the computer is that the DD is running on. You should monitor the CPU Load, Disk Load and Network Load when adjusting these values, and set the values to something that the computer, database, and network can handle.