Bottleneck Identification and Performance Modeling of OPC UA Communication Models

The OPC UA communication architecture is currently becoming an integral part of industrial automation systems, which control complex production processes, such as electric power generation or paper production. With a recently released extension for pub/sub communication, OPC UA can now also support fast cyclic control applications, but the bottlenecks of OPC UA implementations and their scalability on resource-constrained industrial devices are not yet well understood. Former OPC UA performance evaluations mainly concerned client/server round-trip times or focused on jitter, but did not explore resource bottlenecks or create predictive performance models. We have carried out extensive performance measurements with OPC UA client/server and pub/sub communication and created a CPU utilization prediction model based on linear regression that can be used to size hardware environments. We found that the server CPU is the main bottleneck for OPC UA pub/sub communication, but allows a throughput of up to 40,000 signals per second on a Raspberry Pi Zero. We also found that the client/server session management overhead can severely impact performance, if more than 20 clients access a single server.

[1]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[2]  Brad Cain,et al.  Internet Group Management Protocol, Version 3 , 2002, RFC.

[3]  Ferdinando Chiacchio,et al.  To OPC UA Client OPC UA Server Server Application OPC UA Communication Stack OPC UA Server API From OPC UA Client From OPC UA Client To OPC UA Client Request Message OPC , 2013 .

[4]  Julius Pfrommer,et al.  OPC UA & Industrie 4.0 - Enabling Technology with High Diversity and Variability☆ , 2016 .

[5]  D. Kutscher,et al.  OPC UA TSNA new Solution for Industrial Communication , 2018 .

[6]  Wolfgang Mahnke,et al.  OPC Unified Architecture , 2009, Autom..

[7]  Julius Pfrommer,et al.  Open Source OPC UA PubSub Over TSN for Realtime Industrial Communication , 2018, 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA).

[8]  Heiko Koziolek,et al.  Self-Commissioning Industrial IoT-Systems in Process Automation: A Reference Architecture , 2018, 2018 IEEE International Conference on Software Architecture (ICSA).

[9]  Marcin Fojcik,et al.  Introduction to OPC UA Performance , 2012, CN.

[10]  Dennis Brandão,et al.  Performance Comparison Between OPC UA and MQTT for Data Exchange , 2018, 2018 Workshop on Metrology for Industry 4.0 and IoT.

[11]  Matthias Damm,et al.  OPC Unified Architecture , 2009, Autom..

[12]  Christopher M. Bishop,et al.  Pattern Recognition and Machine Learning (Information Science and Statistics) , 2006 .

[13]  Florian Palm,et al.  RESTful Industrial Communication With OPC UA , 2016, IEEE Transactions on Industrial Informatics.