对于我的服务器而言,标记清除操作似乎需要世界各地的停顿时间:
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" />
<link href="https://use.fontawesome.com/releases/v5.4.1/css/all.css" rel="stylesheet" />
<div class="row">
<div class="col-12 ">
<div class="strike">
<button class="btn tw">
<i class="fab fa-twitter"></i>
</button>
<button class="btn fb">
<i class="fab fa-facebook-f"></i>
</button>
<button class="btn ms">
<i class="fab fa-facebook-messenger"></i>
</button>
</div>
</div>
</div>
此行为与https://github.com/nodejs/help/issues/947中描述的行为类似,它似乎与内存消耗有些相关,并且随着时间的推移会恶化。
该问题存在于节点7中,但几乎没有引起注意。现在有了节点8.12,它在24小时内达到了5秒的间隔。
我怀疑这可能与将数据存储在大对象中的非常规方式有关,试图将一个2 GB的对象重构为较小的对象,将其缩减至1 GB,但是没有明显的好处。但是,这些对象很大却很简单。
问题是:
是否有V8选项可以进行标记扫描来减轻此问题?更少的机会,更小的步骤,跳过一些优化,什么?
我找不到有关V8选项的任何不错的文档-在那里吗?
如何帮助打标扫描更有效地完成任务?
在一些常见情况下,应如何避免标记扫描可能遇到的困难?
我可以尝试任何绝望的骇客吗?