01-29-2014 04:44 PM
Hello i have a webservice application as follow.
Labview aplication take PLC data and send it to a shared variable, and the webservice take that information and publish it on an html page that is refreshing every second. everything works good, but sometimes when i try to access to the webservice the page dont respond. or dont load at the first time (need to hit f5 several times)
My guessings are that probably exist any configuration on the stand alone computer where the webservice limit the number of clients that can interact at the same time?
Lack of performance on the PC?
Any hints or clues ?
Luca
01-30-2014 09:05 AM
is there something that i need to configure on any file such as
niwebserver.conf (runtime engine)
NISystemWebServer
NIWebAppServer
Having a research i found some parameters there but im not sure what are they doing and didnt find any info yet
02-04-2014 11:27 AM
Hi Icdelao
We don't have exact numbers of benchmarked performance for multiple clients, as it varies a lot depending on the application. I would recommend you to slow down the update rate a little (go up gradually by 1 second) to see if it affects the performance.
Does the webservice method only read the shared variable and publish it? Does it have any additional delays? How long does the VI take to execute?
Also, what LV version are you using? Web Services were revised in LV 2013 so I'd like to know if you have that version or an older one.
The parameters you mentioned don't really affect the performance or impose a client limit. How many clients are you reading the server from? Have you noticed any relationship between number of clients and the issues you're having?
02-04-2014 11:44 AM
Hello Alhern thanks for your support
the webservice aplication is compiled on Labview 2013.
As you say the web service only read a variable and update the html page with this information using JSON parse. The vi that read information and put it on the shared variable runs every 1000 ms and the script on HTML i put it to refresh the page every 1000 Seconds, right know i have fix 8 devices using this webservice at no problem but when whe use personal computers to use this webservice is when the lack of performance starts to failed
with 8 clients is no problem at all but when i see that more devices starts using it the problem appear and the webservice send a error conection error so i need to refresh until i get the page, my guess is that the webservice get stuck on some client handling request.
loking on the file AplicationWebServer on the path C:\Program Files\National Instruments\Shared\NI WebServer
i found this message
"appweb: Error: No free workers. Increase ThreadLimit. (Count 20 of 20)"
Thats why my question for the file niwebserver.conf and the workerlimit parameter. and iff this affects in something
regards
02-04-2014 12:57 PM
Hi Icdelao.
So the html is refreshing every 16 minutes or so? That doesn't sound like too much, and I think it should be able to handle more than 8 clients. How many web methods do you update on every refresh of the html?
Increasing the thread count might give you more available clients, but I'm not sure if it will cause stability issues or if it will cause the server to crash/hang more often.
02-04-2014 01:30 PM
the static html page refresh every 1 minute and it get 2 web methods wich include 10 shared variables that are updated every minute do you think this is the issue ?
i set the workerlimit to 50 and see what happen,.... until now is the same behavior but i'll keep tracking the webservice with this modification
Regards
02-06-2014 01:06 PM
Still the same behavior of lack of response from the webservice any other clue or advise ?