performance_optimization
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
performance_optimization [2021/01/16 10:01] – [General rules for optimizing your projects] emozolyak | performance_optimization [2021/01/19 13:54] – [General rules for optimizing your projects] emozolyak | ||
---|---|---|---|
Line 112: | Line 112: | ||
===== General rules for optimizing your projects ===== | ===== General rules for optimizing your projects ===== | ||
- | At the time when the webhmi | + | At the time when the WebHMI |
Below there are several considerations you may follow to keep you project fast and responsive: | Below there are several considerations you may follow to keep you project fast and responsive: | ||
+ | |||
+ | |||
+ | === Keep the number of registers in the project below 2-3K === | ||
+ | Each register in the project has a lot of configuration data associsted with it, the bigger the register tree, the more load will lay upon the system. That may slow down the response when you work with the register tree. Organize your register tree in categorites. | ||
+ | |||
+ | === Vizialization === | ||
-Use screens wherever is possible for visualisation, | -Use screens wherever is possible for visualisation, | ||
- | -Avoid using bulky DASHBOARDS | + | -Avoid using bulky dashboards |
- | -Avoid using many scripts | + | |
- | -Run scripts upon changing value, minimize the number of scripts, running in each scan | + | |
- | -Minimize " | + | |
- | -Group register to read on external device and use group reading. | + | |
- | -Set appropriate timeout and tries in external connections | + | |
- | -Organize and set different reading periods for variables. | + | |
- | -Use event communication. | + | |
-Set appropriate screen refresh time. | -Set appropriate screen refresh time. | ||
- | -Keep the number of open tabs minimal | + | -use templates |
- | | + | |
- | -Avoid | + | === Scripting === |
- | -Minimize logging many registers to DB, set appropriate log speed for them. | + | -Avoid |
- | -Keep the number of registers | + | -Run scripts upon changing value, minimize the number of scripts, running in each scan. |
+ | -Minimize " | ||
<code lua> | <code lua> | ||
Line 138: | Line 138: | ||
return | return | ||
else | else | ||
- | | + | |
end | end | ||
end | end | ||
</ | </ | ||
+ | |||
+ | === Connections === | ||
+ | -Use group registers feature | ||
+ | -Set appropriate timeout and tries in external connections | ||
+ | -Organize and set different reading intervals for variables. E.g. for device settings (like PID coeficitens, | ||
+ | -For mulitple external devices, you can use " | ||
+ | |||
+ | === Project editing === | ||
+ | |||
+ | -Keep the number of open tabs in browser minimal for the current session. If you need multiple tabs, use auto-close session checkbox to prevent unattended access. | ||
+ | -Avoid making multiple changes in series, like turning OFF-ON many regs, connection, scripts etc. Use save & apply feature of the latest fw. (apply all changes at once, instead of creating a queue for changes) | ||
+ | |||
+ | === Track Load Average parameter === | ||
+ | There is a metric register in the internal register showing mean number of the processes in the queue relative to the running process. There are 1, 5, 15 minutes mean paratemer. In a steady state, you 15 minutes metric should be below 1. | ||
+ | |||
+ | === Optimize log=== | ||
+ | -Minimize logging many registers to DB, set appropriate log speed for them. When setting 'use data from log' for the graphs, make sure you limit the log amount with the setting. | ||
+ | |||
+ | |||
+ | |||
performance_optimization.txt · Last modified: 2023/05/03 08:54 by emozolyak