gpt4 book ai didi

node.js - Arangodb foxx-application 性能不佳

转载 作者:搜寻专家 更新时间:2023-10-31 23:05:26 24 4
gpt4 key购买 nike

自定义 foxx 应用程序存在严重问题。

关于应用

该应用程序是用于在图中查找路径的自定义算法。它针对公共(public)交通进行了优化。在初始化时,它将所有必要的数据加载到 javascript 变量中,然后遍历它们。它比每次访问数据库都要快。

问题

当我第一次通过 api 访问应用程序时,它很快,例如。 300 毫秒。但是,当我第二次执行完全相同的请求时,它非常很慢。例如。 7000 毫秒。

你能帮我解决这个问题吗?我不知道去哪里寻找错误。

最佳答案

在不了解更多关于应用程序和代码的情况下,我只能推测原因。

潜在原因 #1:开发模式。

如果您在开发模式下运行 ArangoDB,那么会为每个 Foxx 路由请求运行 init 过程,从而使值的预先计算变得无用。您可以通过检查 arangod 日志来确定您是否在开发模式下运行。如果您处于开发模式,将会有一条关于此的日志消息。

潜在原因 #2:JavaScript 变量是每个线程

您可以使用多个线程运行 ArangoDB,从而运行 Foxx,每个线程都有线程本地 JavaScript 变量。如果您向 Foxx 路由发出请求,则服务器将选择一个随机线程来回答请求。如果 JavaScript 变量在此线程中仍然为空,则可能需要先填充它(这将是您的 init 调用)。对于下一个请求,将再次选择一个随机线程来执行。如果 JavaScript 变量已经填充到这个线程中,那么响应会很快。如果需要填充变量,则响应会很慢。

经过几次请求(至少与 --server.threads 启动选项中配置的一样多),每个线程中的 JavaScript 变量应该已经初始化并且响应时间应该相同。

关于node.js - Arangodb foxx-application 性能不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22986290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com