Two systems connected by DIST.
System 1 acquiring online values from System 2 at all time and offline values, for periods when DIST connection was broken.
Offline value downloading speed directly depends on online value traffic.
When online values generator generates small ammount of changes (0-1k per sec.), offline downloading speed rises up, and vise versa.
By speaking of downloading speed, I mean speed collecting offline values (by query) from remote DIST and saving them to RDB archive.
Also we found out that collecting speed from System2 much greater than writing it to System1.
Speaking of digits:
4 minutes of offline values downloading approx 24 minutes (for 5k tags) (1 200 000 values)
4 minutes of offline values downloading approx 400 minutes (for 25k tags) (1 200 000 values)
without online values traffic:
4 minutes of offline values downloading approx 7 minutes (for 5k tags) (1 200 000 values)
At the end, what parameters or what actions can we perform to speed up such processes?
our configs:
[general]
pvss_path = ""
proj_path = ""
proj_version = "3.16"
langs = "en_US.utf8"
langs = "ru_RU.utf8"
useRDBArchive = 1
defaultArchive = 99
distributed = 1
aliveTimeout = -2
maxBcmBufferSize = 100000
[ValueArchiveRDB]
oracleClientVersion = 12
DbUser = ""
DbPass = ""
Db = ""
bufferToDisk = 2
writeWithBulk = 1
queryRDBdirect = 1
queryTimeout = 60
writeTimeout = 60
SQLPreFetchCount = 15000
initialEntriesInBlock = 1000
[data]
priorityClass = 2
useLocalIdentification = 1
maxValueRequestCount = 0
maxLinesInQuery = 1000000
[dist]
distPort = 14777
messageCompression = "zlib-bzip2"
useLocalIdentification = 1
distPeer = "KHPD-WINCCOST1" 2
[event]
msgQueueHoldTime = 5
priorityClass = 2
maxInputMsgCount = 500000
msgQueueLimitTimeout = 300
fwdDp = "_RDBArchive.writingStatus.lastWrite"
fwdDp = "_RDBArchive_2.writingStatus.lastWrite"
System 2 signal generator, generates changes for 5 000 tags each second.
System 1 - 2.2Ghz 16 cores, 16Gb of RAM
System 2 - 2.2Ghz 4 cores, 4Gb of RAM
Network speed 1Gb/s
WinCC 3.16 P013