1

我需要测试一些节点框架,或者至少是它们的路由部分。这意味着从请求到达节点进程进行处理,直到确定路由并调用具有业务逻辑的函数/类,例如在调用它之前。我一直在努力寻找合适的方法,但得出的结论是必须直接在代码中完成,而不是使用外部基准测试工具。我担心测量错误的属性。我尝试了炮兵和 ab,但它们测量的属性比我想测量的要多得多,比如 RTT、糟糕的操作系统调度、在操作系统中执行的随机任务等等。我使用 process.hrtime() 对我的自定义路由代码进行的初始基准测试显示大约。0.220 毫秒(220 微秒)执行时间,但外部测量显示 0.700(700 微秒),这是不可接受的差异,因为它是 3。18 倍额外时间。由于 GC 或系统任务,有时执行时间会跳到 1.x 秒。现在我想知道可重复的方法会是什么样子?也许是这样的:

  • 将 Docker 与 Scientific Linux 结合使用以获得某种程度可控的环境。
  • 一个最小的 docker 容器安装,仅支持节点的容器,没有额外的。
  • 将时间结果存储在全局范围内,直到测试完成,然后保存到磁盘。
  • 终止主机操作系统上具有高/中等磁盘IO和/或CPU的所有应用程序。
  • 如前所述测量时间并交叉手指。

还有其他建议要考虑吗?

4

0 回答 0