Closed bdw429s closed 5 years ago
Brad,
What is the hardware spec on this machine? What OS are we running exactly? What kind of traffic is this client sending through IIS? Is traffic many upload/download of files?
It looks like that you are running out of memory and have to wait until the App pool memory is recycled before the system becomes responsive again.
Normally, the IIS process buffers traffic in memory. Files, when send without buffers (flushes), will fill up app pool memory at times. Even when IIS releases memory, it takes a while for GC to age out the memory and make it available. This process can be fine tuned based on workloads on the machine. In general, memory issues require a reassessment of how memory and GC is managed. Which boils down to two different strategies: a) faster collection and release of discarded memory b) more memory added to machine or process
If you have enough physical memory you can try to adjust the memory sizes allocated to the app pool.
Advanced Settings -> Recycling
adjust Private Memory Limit to a higher level
You can tweak GC strategy, I cannot make any direct recommendations without knowledge. Here is a blog on GC algorithms: http://dave-black.blogspot.com/2012/04/how-to-determine-which-garbage.html
Also, you can turn the connector into aggressively releasing memory making explicit GC calls rather than have Windows/IIS manage it using this setting:.
<EnableAggressiveGC>
Best, Bilal
Hi Bilal,
Brad's client here :) Sorry it took so long to reply, but here is the info you requested:
About the traffic: Only page requests (About 5-10 pages / sec), no big uploads / downloads.
What would you recommend for physical memory sizes?
Thanks Rick. Without much load most of my assumptions become invalid and another element may be involved.
However, have you tried to make the adjustments that I am outlining above, e.g.
Adjust GC collection levels to “Workstation GC” model in the .net configuration file.
For 64-bit .net 4 this file is located typically in c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Aspnet.config add the line
<gcServer enabled="false"/> under <runtime> node
or use BonCodeAJP13.settings
file?
closing for now.
Just upgraded to Boncode version 1.0.41
I have a client whose site became unresponsive for a while, returning the "Generic Connector Communication Error" for a while. Max connections is not set in the settings file (defaulting to 0 then) and I can confirm that Lucee/Tomcat were not restarted. In fact, there is nothing at all in any of the Lucee, Tomcat, or Catalina log files that happened at that time.
However, several errors such as the following did appear in the Boncode logs, which are set to log level 3 currenlty.
The one that jumps out to me is the
System.OutOfMemoryException
one. There is nothing in the Boncode docs to address this exception. The Boncode logs had several errors like this, and then had zero entries for the next 40 minutes until it suddenly started up again with connection number 1The exact time Boncode started up again, these errors were in the WIndows event logs:
This warning in the system logs:
And this error in the Application log:
There seems to have been a major issue with the application pool and running out of memory but what can I do to troubleshoot this?