NetTalk Central
NetTalk Web Server => Web Server - Ask For Help => Topic started by: osquiabro on September 17, 2018, 05:40:01 AM
-
after update to NT 10 received this message continually "Server is Busy", with previous versions never, any idea how to debug this message?
-
Check the MaxThreads field on the [Advanced Tab] in your server object.
Also check to ensure your pages are exiting and not holding a thread open as this will use up all available threads.
MaxThreads too low or threads not exiting are most likely cause of error 500.
-
the only change in my app is compiling with nt 10.30 to 10.34, but recently change the MaxThreads to 1000 the default is 100 and waiting is error disappear.. with previous version never received this error or never showed..
thanks..
-
Hi Osa,
what Bill said.
cheers
Bruce
-
To debug, you could run ProcessExplorer (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer).
Locate your process, go to [Properties], go to [Threads] if you have > 100 or 1000 threads at any point in time, your error 500 is due to threads not exiting.
-
Also check to ensure your pages are exiting and not holding a thread open as this will use up all available threads.
I am having a similar issue as osquiabro for a long time, and it was just an update from version x to y.
I am curious, how do i make sure i am exiting in a graceful manner the page and not holding a thread? AFAIK, NetTalk does handle that, but want to make sure if i am missing something (embed points etc).
Thanks for the hint in advance @ Urayoan
-
Basically you've got to do something wrong!
Shouldn't really happen with stock nettalk.
Sometimes it happens for me with odbc driver problems, but its a function of very high volume and high memory usage, 3+ GB RAM usage per Nettalk Server Process and MySQL ODBC 5.2 or 5.3 driver that tries to do fancy stuff with cursors and eats memory (not NT specific). It causes a database error within a thread that cannot be recovered from and the thread stalls.
Other times it happens because I have some reports that take a very long time to run - in the minutes (printing a report that consists of hundreds of pages that includes many hi res images). My customers sometimes like to keep pressing print thinking that will help the report arrive quicker. Since the processes take a long time each one knocks out a thread.
-
"Also check to ensure your pages are exiting and not holding a thread open as this will use up all available threads."
how?? because my app is very simple, browse call a form and close only view.
-
Its not likely to happen if you are following the standard NT paradigm. You'd have to write some embed code that causes an infinite loop or waits for user input. ProcExp will tell you if you have a problem.
-
>> how??
monitor the thread number on the log tab. This should return to 3 when things are quiet.
(and on the performance tab you can see the Threads in use drop as well).
If these numbers are not dropping then you are leaking threads.
cheers
Bruce