【问题标题】:NancyFX slow performanceNancyFX 性能缓慢
【发布时间】:2015-01-27 03:44:47
【问题描述】:

我有 AngularJs 前端网络应用程序,它与用 NancyFx 编写的后端网络 API 进行通信。我有 Nancy 的性能问题,每次我调用我的 API 服务时,Nancy 首先扫描我模块中的每个方法,然后输入正确的方法。
例如:
在我的 Nancy 模块中,我有 Get、Post、Put 和 Delete。当我在 API 上调用 get 方法时,Nancy 会扫描 Get、Post、Put、Delete,然后进入 Get 方法。所以每次我调用服务时,至少需要 2 秒才能输入正确的方法。

据我了解,Nancy 默认扫描模块以识别正确的路线,但在我的情况下,这需要太长时间。我的模块类不是很大,模块中有大约 150 行代码。
这是默认的 Nancy 行为吗?它可以在 Boostrap 中被覆盖,还是如何提高性能?

【问题讨论】:

  • 当你说“大约 150 行代码”时,你在那里做什么?如果必须执行大量数据库操作 + 复杂的渲染任务,我已经看到了类似的问题。你能告诉我们你的代码吗?

标签: .net angularjs rest asp.net-web-api nancy


【解决方案1】:

没有看到你的代码,这里没什么可做的,但是你描述的没有意义。

Nancy 对第一个请求进行预先扫描,以构建所有路由和实现的缓存。然后找到对应的匹配路由并调用实现。

之后的任何请求都只做后半部分。

可能有很多事情会导致调用变慢,例如将逻辑放在存在于路由实现之外的构造函数中。解决缓慢的依赖关系。数据库访问。等等

但是根本看不到任何代码,我怀疑任何人都可以查明您的性能问题。

【讨论】:

    猜你喜欢
    • 2010-10-14
    • 2021-06-04
    • 2016-11-09
    • 2021-06-21
    • 2012-05-11
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多