Modbus datasource takes too long to turn initialize
-
Hi there,
I have 60 Modbus IP data sources, around 400 points each, one Virtual data source with 360 points and a Meta data source with some 300 points, and it takes some 3 minutes for each Modbus IP source to initialize, while only 0.4 seconds for a Virtual source, for example. Operating system is ubuntu 14. Does this look like a regular regular Modbus IP source initializing time for this situation?
Thx, Stefan.
-
Hi Stefan,
We have just done some development for situations like this, and will be releasing the module very soon. Probably early next week. A client was experiencing startup times like you describe, with some data sources taking up to ten minutes to start. Our fix is in the database and requires a one-time conversion to a slightly different data structure, but it took a system that had a four hour start time and brought it down to three minutes. I'll let you know when we release it.
-
Oh, my mistake, I thought you were using the NoSQL module, but from your image it appears you are not. This would be the first speed improvement to make, and may be sufficient for you. My last post is about the NoSQL module. For using H2, you can keep startups fast by keeping the pointValues table smaller.
-
Thx for your answer phil. I've tried to empty the database, and it took the same to start mango with this configuration. I've also tried the simple thing of turning off all of those Modbus IP sources and it cut down the starting time to an instant. Since I'm connected via VPN to all of those devices, and VPN is off when I restart my computer, it makes sense to me that Mango is trying to connect to all of those sources, with timeout of 3 minutes. Is Mango trying to connect to each Modbus IP source on startup?
Thx, Stefan.
-
Whoa, a timeout of 3 minutes sounds long. Is your Timeout really set to 180000/(retries+1)? I wouldn't think so.
I think this is because it is querying for the latest point values for each data point, which is required for a number of possible uses.
If it were the devices timing out that were slowing it down, you might get a speed improvement by increasing the concurrency of the startup. If the slowdown is somewhere in the database, I wouldn't expect much change as the number of threads increases. You can do this by allocating more threads to it in your env.properties file, with the properties:
#Start data sources in parallel threads
runtime.datasource.startupThreads=8
#Log startup times for runtime manager
runtime.datasource.logStartupMetrics=true -
Well, I've downloaded 2.7.10 enterprise demo version since it has noSQL, and started all over again, so my database is empty now, and it still took 3 minutes per IP source while my VPN was off, haven't tried it with VPN on though.
By the way, can you please tell me what does ''demo'' mean in this case, what's the difference between the full install and this enterprise demo version and what does a nondemo version look like? We've bought a license for the Enterprise version, haven't updated the license yet, how will the license change the Enterprise demo version, will it be less demo, will I get full options when I update it? Can I put this license in the full version, and if I can do that, how will it change things there?
Thx, Stefan
-
Different modules have different restrictions in the free versions, but their functionality is not restricted. Common sorts of restrictions are point counts, such as Meta restricting you to five data points on the free license, and time limit, such as NoSQL (which will shutdown the Mango every eight hours). These limitations are always spelled out in the module's licenseTypes.xml in the module's directory, and is often explicitly stated on the Modules page within Mango.
If your GUID is the same, you can use the license, but licenses are on a per-modules basis, so unless your license covered the NoSQL module, it will still be unlicensed while your old licenses will still apply to their modules. If you GUID is changed you can request a license transfer.
-
When each will need to complete a poll durring intilization so it sounds like it's taking a long time for your slave devices to respond and for the poll to complete.
If you edit the data source you can see the last 10 poll time and will look like this:
This would be useful information to know. As Phillip mentioned using the new options for a multi threaded start up should speed it up but ultimately the issue is your slave device response time.
Once you have a license installed for Enterprise Demo which includes the NoSQL module it will no longer be a Demo and will be a fully working system.