Joshua, thanks you for explanation.
For about week ago we've installed mono 2.0 RC4. So, the situation is the following: 1) something happens. Sometimes: [Thu Oct 09 01:39:16 2008] [alert] Requesting termination of abtronics.ru mod-mono-server for restart... System.Threading.ThreadAbortException: Thread was being aborted Server stack trace: at Mono.WebServer.BaseApplicationHost.ProcessRequest (Mono.WebServer.MonoWorkerRequest mwr) [0x00000] at Mono.WebServer.ModMonoApplicationHost.ProcessRequest (Int32 reqId, System.String verb, System.String queryString, System.String path, System.String protocol, System.String localAddress, Int32 serverPort, System.String remoteAddress, Int32 remotePort, System.String remoteName, System.String[] headers, System.String[] headerValues) [0x00000] at (wrapper remoting-invoke-with-check) Mono.WebServer.ModMonoApplicationHost:ProcessRequest (int,string,string,string,string,string,int,string,int,string,string[],string[]) at (wrapper xdomain-dispatch) Mono.WebServer.ModMonoApplicationHost:ProcessRequest (object,byte[]&,byte[]&,int,string,string,string,string,string,int,string,int,string,string[],string[]) Exception rethrown at [0]: at (wrapper xdomain-invoke) Mono.WebServer.ModMonoApplicationHost:ProcessRequest (int,string,string,string,string,string,int,string,int,string,string[],string[]) at (wrapper remoting-invoke-with-check) Mono.WebServer.ModMonoApplicationHost:ProcessRequest (int,string,string,string,string,string,int,string,int,string,string[],string[]) at Mono.WebServer.ModMonoWorker.InnerRun (System.Object state) [0x00000] at Mono.WebServer.ModMonoWorker.Run (System.Object state) [0x00000] System.Threading.ThreadAbortException: Thread was being aborted .... sometimes something like this: [Wed Oct 08 00:55:48 2008] [error] (70014)End of file found: read_data failed [Wed Oct 08 00:55:48 2008] [error] Command stream corrupted, last command was 0 2) mod_mono stop to close connections, number of concurrent connections fast reach limit note: load of server for this time far from 100% 3) service becomes temporary unavailable, a lot of records like [Wed Oct 08 13:55:43 2008] [error] Maximum number (70) of concurrent mod_mono requests to /tmp/mod_mono_dashboard_abtronics.ru_2.lock reached. Droping request. in logs. Note, that it's only "concurrent" requests, not "concurrent and waiting". So, it seems like these requests doesn't wait (sleep). I don't know is this situation A) or B) For now we've moved some services to other server. In few days will upgrade mono to 2.0 official release and see what happen. If problem repeats we will try to use profiler for more deep investigation of this situation. All the best, Max Karavaev >> "Service Temporary Unavailable" error appears when amount of waiting >> requests reach limit or when waiting requests reach apache timeout? > > Yes, both. That is (to be clear), either: > > A) A request comes in and the maximum number of requests are already > being processed, so this request waits (it sleeps for short intervals) > until the number of currently-being-processed requests drops below the > maximum. If that doesn't happen within a certain amount of time > (hard-coded in mod_mono), the request is dropped with 503. (Service > Temporarily Unavailable) > > B) A request comes in and the maximum number of requests are already > being processed, but there are also already the maximum number of > waiting requests waiting, so this request gets dropped *immediately* > with 503 (Service Temporarily Unavailable). > > So I was half-wrong before because I forgot that another way to avoid > 503s is to increase the timeout in mod_mono (but as I said, it's > hard-coded) so requests can wait longer. But it's already fairly long > --- 20 seconds or something. > _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
