[Mono-bugs] [Bug 693810] New: Concurrent requests to ASP.NET MVC 3 web application effectively serialized
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Fri May 13 17:44:37 EDT 2011
https://bugzilla.novell.com/show_bug.cgi?id=693810
https://bugzilla.novell.com/show_bug.cgi?id=693810#c0
Summary: Concurrent requests to ASP.NET MVC 3 web application
effectively serialized
Classification: Mono
Product: Mono: Class Libraries
Version: 2.10.x
Platform: x86-64
OS/Version: Ubuntu
Status: NEW
Severity: Major
Priority: P5 - None
Component: Sys.Web
AssignedTo: mhabersack at novell.com
ReportedBy: phillip.sitbon+novell at gmail.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24
(KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.24
Running a request controller blocks the handling of all other controllers. This
was discovered when using JSON to report long-running job progress in a
single-process Lighttpd FastCGI configuration with one backend process.
Updating "max-procs" to 2 in Lighty allowed for only one additional thread of
concurrency. I tried manually setting the following environment parameters:
"MONO_FCGI_MAXCONNS" => "2048",
"MONO_FCGI_MAXREQS" => "2048",
"MONO_FCGI_MULTIPLEX" => "True"
As well as the following in Web.config:
<connectionManagement>
<add address="*" maxconnection="256"/>
</connectionManagement>
To no avail.
Reducing the scenario down to a simple web app running in XSP produces the same
behavior.
Server info:
2.6.38-9-server #43-Ubuntu SMP Thu Apr 28 15:40:34 UTC 2011 x86_64 x86_64
x86_64 GNU/Linux
Running Mono 2.10.2
Reproducible: Always
Steps to Reproduce:
1. Create a new ASP.NET MVC 3 (Razor) Web App in VS2010.
2. Make two controllers, with any attached view. In one, put
Thread.Sleep(20000)
And in the other just have it render the view immediately.
3. Before publishing the project for export to Linux, set "Copy Local" on the
following references (not sure if all are needed/used, but it allows it to
load):
EntityFramework
System.Data.Entity
System.Web.Helpers
System.Web.Mvc
System.Web.Razor
System.Web.WebPages
System.Web.WebPages.Deployment
System.Web.WebPages.Razor
4. Publish to a folder and then copy to a Linux machine. Run xsp4 --root
/path/to/App
5. Navigate to http://server:port/ViewThatSleeps
6. Immediately try to load up http://server:port/ViewThatDoesNotSleep while the
other controller is still executing Thread.Sleep.
3.
Actual Results:
http://server:port/ViewThatDoesNotSleep will not load until
http://server:port/ViewThatSleeps has completed and loaded.
Expected Results:
http://server:port/ViewThatDoesNotSleep loads while
http://server:port/ViewThatSleep is still loading and executing Thread.Sleep.
Reproduced in Windows 7, VS2010 SP1, ASP.NET Dev Server for multiple web app
scenarios.
Most of the Web.config, besides the changes I mentioned above, are defaults
generated by VS2010.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list