我们开始在使用 mono-3.0.3 编译的 xsp4 服务器上测试我们的 MVC4 应用程序,速度足够快,我们决定进行生产fastcgi-mono-server4(版本 2.11.0.0)nginx(1.2.6-r1)。
在 XSP4 上,加载一些 JSON 查询的单个查询大约需要 200 毫秒,但 Nginx 只需 1.2 秒即可完成查询,我想知道哪里会导致速度如此缓慢?
我遵循 nginx 配置:http://www.mono-project.com/FastCGI_Nginx并且fastcgi-mono-server4使用socket监听nginx。
您对如何记录时间戳有什么想法可以帮助我吗?
谢谢
答案1
首先,使用 2.11.x 版本肯定会出问题。11 是奇数,这意味着它是不稳定版本。
因此,请避免使用 2.11.x 并升级到 3.x(x 为偶数,即 0 或 2)。
第二:如果您使用 Mono 3.2.x 而不是 3.0.x,您将默认使用新的垃圾收集器,我相信它会更快。
最后但同样重要的一点是,请注意一些 HA 和性能问题:
- 看着这个stackoverflow答案知道如何避免“积压太深”问题(NGinx 将其翻译为 502)。
- 调用 mono 时使用 --server 标志(您可能需要在系统的 mono-fastcgi-server 脚本中硬编码此标志)。此功能于mono 3.2.3。
- 如果你仍然遇到性能不佳的情况,请尝试使用以下方法自行编译 Mono此补丁已应用(希望包含在 Mono 3.2.5 版本中)。