Hello everyone,
I have recently been investing some issues in a few of our gateways and have learned above some additional configuration settings within the Ignition.conf file see below:
wrapper.java.additional.9=-Dignition.tags.expressionthreads=100
wrapper.java.additional.10=-Dignition.tags.scriptthreads=8
wrapper.java.additional.11=-Dignition.tags.scriptqueuemaxsize=20
wrapper.java.additional.12=-Dignition.tags.db_tag_threads=6
wrapper.java.additional.13=-Dignition.sqlbridge.maxthreads=5
I believe all the of the writing below is what each additional config value controls.
Tag Value Change Scripts:
wrapper.java.additional.1=-Dignition.tags.scriptthreads=5
wrapper.java.additional.2=-Dignition.tags.scriptqueuemaxsize=10
Expression:
wrapper.java.additional.1=-Dignition.tags.expressionthreads=10
SQL Transaction groups specifically:
wrapper.java.additional.1=-Dignition.sqlbridge.maxthreads=10
QueryTags:
wrapper.java.additional.1=-Dignition.tags.db_tag_threads=10
I have a few questions/clarifications:
After increasing all of these limits the first thing I had to do was increase the DB connection pool. I started the server and noticed that the DB kept faulting so I did an increase from 8 Max connections to 50 which is running very good now.
I’m assuming this is due to more scripts/expressions/other items executing at a faster rate therefore taking up active DB connections instead of waiting to execute.
This is my performance change:
After changes:
Threads drop back down as well:
it seems like the average is ~58-100
Before Changes:
I’ve also noticed that my tags/udts in the gateway browser now change instantly before the changes I would change a value/expression and it would take ~1 Minute + to set that value or execute the expression.
With all of this information I have a few questions:
#1 Am I going in the right direction with these .conf additions.
#2 Are threads directly related to CPU threads when I set my x_threads property if so why is my CPU performance still super low I want to make the most of my server and it seems like the CPU is not really being touched here.
#3 Any other advanced details or settings to help me further increase my gateway performance would be very helpful!
Additional details about this project specifically:
Full Perspective Project
We use many different UDTs that perform calculations such as:
- A Large amount of expression tags:
- Simple logic expression tags
- Advanced runscript() tags (These scripts are optimized for maximum performance)
- Reference Tags
- Memory Tags
- Query Tags
- A majority of query tags execute stored procedures rather than raw query statements.
All tags are setup with different tag groups with the fastest being 1 second and the slowest being around 30 minutes.
Any insights are greatly appreciated, thank you in advanced!