- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的理解是;
最佳答案
与许多其他解释器相比,javascript 解释器有一个特殊的功能。它们需要针对多个浏览器窗口运行,并且一个窗口不应该知道另一个窗口。
因此解释器操作集与其一般逻辑是严格分开的。在
V8 这个概念是在名称 Isolate
下实现的.
ArangoDB 产生了几个 Isolate,每个上下文都可以运行 Foxx。ArangoDB 基础设施有 Hook 到 Isolate,可以发出信号,即新集合可用。但是,在 Foxx 中没有可以使用的钩子(Hook)。
ArangoDB 是多线程的。请求代理将读取请求,如果它发现它应该执行 Foxx-Request(而不是直接 AQL 调用),它将从池中选择一个隔离,并在该 V8 上下文中继续执行。因此,既不能保证您到达同一个工作线程,也不能保证它会在后续请求中选择相同的 Isolate。
这些隔离区中的每一个都可以单独进行垃圾收集,而不会阻塞其他隔离区中的执行。 ArangoDB Exposes statistics about these contexts , 所以你可以看到隔离物可以被标记 dirty
这意味着它们应该被垃圾收集。您可以使用 require("internal").wait(<seconds>, true)
手动调用垃圾收集。产生的上下文的数量取决于您的系统拥有的 CPU 数量。但是,these settings can be configured.因此,您会看到该策略与调整 Java GC 完全不同。
Foxx 本身会在请求后丢弃服务分配的结构。然后它们将在后续请求中不可用,并且一旦垃圾收集运行,它们的内存将返回给系统。
通常您应该努力使您的 Foxx 服务在 AQL 周围成为一个薄层。你执行。
虽然性能应该被视为一项功能,但您通常会在您的代码达到一定的成熟度时开始查看它。我们解释了howto create usage scenarios and measure and optimize possible throughputs in our blog post series ;虽然没有直接提到 Foxx 服务,但那里使用的策略也可以应用于 Foxx。
关于arangodb - arangodb的foxx什么时候收垃圾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53282419/
我是一名优秀的程序员,十分优秀!