When porting a D2000 application developed for Windows to Linux, you may encounter the following differences:
- File names and paths are case-sensitive
- Directory separator is "/" (slash)
- File access rights (owner/group/others)
When patching D2000 binaries, the following steps should be performed
- owner/group should be changed to the D2000 user and group under which the D2000 system was installed, e.g.
chown d2000:d2000 kernel - read/write/execute flags should be set so that at least the D2000 user can run them, e.g.
chmod 755 archiv - D2000 Kernel process requires special capabilities to create multicast sockets:
setcap cap_net_raw=pe kernel - D2000 Kom process may require special capabilities to work with raw sockets, to bind to privileged ports and to work with GPIO:
setcap cap_dac_override,cap_sys_rawio,cap_net_bind_service+ep kom
While debugging the performance of the D2000 Archive, a bottleneck was identified within the unixODBC component. Performance can be significantly improved by recompiling unixODBC with the "--enable-fastvalidate" option enabled, e.g:
configure --enable-fastvalidate --with-gnu-ld=yes --enable-threads=yes --enable-drivers=yes --enable-driverc=yes
Then you need to replace the original library (/usr/lib64/libodbc.so.2.0.0) with the new one and also replace the symbolic link /usr/lib64/libodbc.so.2.
When working with TCP connections, we recommend changing the value of the net.ipv4.tcp_syn_retries parameter from the default 6 to 3. This will cause a faster timeout when establishing a connection (the value 6 corresponds to up to 130 seconds, and the value 3 corresponds to 16 seconds).
This parameter can be set at runtime with the command
sysctl net.ipv4.tcp_syn_retries=3
or at the start - e.g. by creating a /etc/sysctl.d/80-d2000.conf file with the contents
# Ipesoft D2000 communication setting
# decrease tcp_syn_retries from default (6) to 3 to enable faster reconnect of redundant communications
net.ipv4.tcp_syn_retries = 3
Pridať komentár