2

Mono 3.2 MVC4 WebAPI 应用程序在 Debian x64 VPS 服务器中运行。Mono 从源代码编译并使用 4.5 子树。应用程序需要 Chrome 或 Safari 浏览器。

多次刷新浏览器窗口后,服务器无法正常工作。我尝试了所有已知的免费可能性:

阿帕奇 + mod_mono

多次按下浏览器刷新按钮后,服务器随机返回某些页面的 500 错误,并且 apache 错误日志包含“无法映射路径”异常。

我把它贴在

https://stackoverflow.com/questions/20356779/how-to-fix-failed-to-map-path-errors-in-mono-mvc4-application

并且在

Mono ASP.NET 邮件列表没有任何响应。

服务器中有许多单声道应用程序,可能是 mod_mono 选择了错误的线程,或者单声道中的 webapi 映射实现中存在一些错误。

Nginx + mono-fastcgi-server4.exe

按住 F5 键会导致 mono-fastcgi-server4.exe 中的 CPU 使用率永远达到 200%

我把它贴在

https://stackoverflow.com/questions/20512978/how-to-limit-mono-197-cpu-usage-in-mono-fastcgi-server

并且在

Mono ASP.NET 邮件列表没有任何解决方案。

看起来单声道 fastcgi 服务器中存在错误,或者它与单声道 3.2 不兼容

直接使用xsp4.exe

如果多次刷新浏览器窗口,则会在 Chrome 中导致“服务器不返回数据”。

我把这个贴在

https://code.google.com/p/chromium/issues/detail?id=329311

没有回应。

也许 xsp4 没有正确实现 http 协议。

Havent 尝试过 ServiceStack,因为它不能用于所需的闭源开发。此外,应用程序还使用图像、css、js 文件和 MVC 视图,它们也需要提供服务。

如何为返回正确数据的单声道创建合适的服务器?

4

1 回答 1

1

当 500 错误发生时,在 mono 类库中的某个地方引发了异常,您可以使用跟踪了解更多信息:

mono --trace=E:System.Exception YourApp.exe

这样,您很有可能找出导致您在每种情况下看到的负载问题的原因(要为 mono-fastcgi 执行此操作,您需要在调用 mono-fastcgi-server4.js 的脚本中添加跟踪参数。可执行程序)。

于 2013-12-22T11:29:14.630 回答