10:10, EET
December 20, 2021
Good morning,
I’m trying to speed up server startup by selectively excluding unnecessary features.
For instance, is it possible to initiate the server only with the “Nano Embedded Device Server Profile”?
Alternatively, could I adjust parameters within the Prosys SDK to achieve this goal?
Additionally, I’m interested in streamlined documentation outlining the features associated with each profile.
Right now, I’m navigating the official site: OPC Foundation Profiles.
https://profiles.opcfoundation.org/profile/1330
Thank you for your help.
Best regards,
Francesco
14:44, EET
April 3, 2012
Hi,
Not possible. In practice it is best to think Part 7 has nothing to do with the SDK. While you could set some parameters e.g. just supporting a single Session etc. or throw e.g. on CreateSubscription on some listener thus preventing it, it wouldn’t affect startup speed. And in general most Clients expect a “Standard Server” anyway.
Also our implementation does always need a certificate. OPC UA 1.01 was ambiguous even for NONE+Anonymous thus some older clients will expect a certificate even then. The first start will take a bit longer as it is created, but after that it should be faster. Another one is also the hostname resolution.
So, I would in general be interested that how slow it is in practice and about where is the bottleneck. Depending on this you can send details via mail. But as an example the SampleConsoleServer typically starts in about 5-10 seconds depending on the hardware, a bit slower on the first one as the cert is created.
P.S.
If you had a lot of information models and are on SDK 5.1.0, there might be an option to parallelize information model partially: you could load com.prosysopc.ua.UaNodeSet.parseXml(InputStream) in paraller (each in their own Thread) and once all are loaded then (in a single thread) apply them to the server via server.getAddressSpace().loadModel(UaNodeSet…). Please do create the NodeManagerUaNodes before that though to lock the indexes if you care about their ordering. Though I must note that we have not tried this so there is a small possibity that the impact is negligible.
P.S.2
If you do have a faster way to know the (preferably fully qualified, if one exists) hostname, it can be set via com.prosysopc.ua.ApplicationIdentity.setActualHostName(String) before other interactions with the SDK.
Most Users Ever Online: 1919
Currently Online:
38 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Heikki Tahvanainen: 402
hbrackel: 144
rocket science: 88
pramanj: 86
Francesco Zambon: 83
Ibrahim: 78
Sabari: 62
kapsl: 57
gjevremovic: 49
Xavier: 43
Member Stats:
Guest Posters: 0
Members: 734
Moderators: 7
Admins: 1
Forum Stats:
Groups: 3
Forums: 15
Topics: 1523
Posts: 6449
Newest Members:
christamcdowall, redaahern07571, nigelbdhmp, travistimmons, AnnelCib, dalenegettinger, howardkennerley, Thomassnism, biancacraft16, edgardo3518Moderators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1026, Jimmy Ni: 26, Matti Siponen: 346, Lusetti: 0
Administrators: admin: 1