NancyFX 在 Linux Mono 上一段时间后停止处理来自多个客户端的请求

NancyFX stops handling requests from multiple clients after a while on Linux Mono

我有一个用 NancyFX 编写的服务器应用程序,它在 Mono 上的 Ubuntu 服务器上运行。我正在使用 80 多个客户端调用简单的 POST 路由来将一些数据更新到应用程序数据库。这条路线很快,它只是 returns "success" 字符串。客户端每分钟都会一起访问服务器(或多或少)。问题是,当我重新启动服务器应用程序时,所有运行正常,但几分钟后服务器应用程序卡住并停止处理请求。当我检查 linux 服务器上的服务器应用进程时,它恰好有 107 个线程。不再添加或删除线程。我试图重新启动服务器应用程序,但我总是得到相同的结果。 NancyFX 最新版本是1.4.2。 Linux 服务器是 Ubuntu 服务器 3.13.0-24-generic。 Mono 也是最新版本。 Nancy 是 owin 自托管。

知道我应该检查或更改什么吗?即使我的主机命中了不存在的路由,我最终也会得到相同的结果,所以我认为问题不在我的模块中。有一些南希设置吗?我应该更改 linux 服务器上的某些内容吗?

我知道这是一个相当古老的问题,但您的问题可能与 v2.0 开发分支中 reported and patched 的超时锁有关。他们还没有将它反向移植到稳定的 v1.4.x 分支,但是这个补丁对我来说看起来很微不足道,所以你可以制作自己的分支。

您描述的行为与我看到的行为相同,所以我相信我们遇到了同样的问题。不幸的是,很难说这是否解决了问题,但我希望这对以后的人有所帮助!

更新: 自从使用上面链接的补丁修补最新的 Nancy 1.4.x 以来,我们在生产环境中最近没有看到任何进一步的间歇性超时4个月左右。