如何在 RethinkDB 中执行查询后打印服务器执行时间和汇总时间?

How to print server execution time and roundup time after query execution in RethinkDB?

有什么简单的方法可以在 Javascipt 中执行查询完成后打印 服务器时间 往返时间 吗?我在 webadmin 中看到过这个,但在 API 中找不到。对于 Query 的基准测试目的,我们应该考虑哪一个?

对于往返时间,您可以使用.time.timeEnd方法只使用控制台。

示例:

console.time('query');
r.table('table_name')
 .filter({ name: 'jorge' })
 .run(conn)
 .then(function (cursor) {
   console.timeEnd('query');
 });

您可以在 MDN 中找到这些方法的文档:

https://developer.mozilla.org/en-US/docs/Web/API/Console/time

https://developer.mozilla.org/en-US/docs/Web/API/Console/timeEnd

添加到 Jorge 关于测量往返时间的回答中: 您可以从查询配置文件中获取服务器时间。这也是 Data Explorer (web UI) 使用的。

必须通过将 {profile: true} optarg 传递到 run 来启用分析。 结果,您在 profile 字段中获得了一个包含配置文件的对象,并且查询结果在结果的 value 字段中。

例如 JavaScript:

r.expr("test query").run(conn, {profile: true}, function(err, result) {
   var serverTime = result.profile[0]['duration(ms)'];
   console.log(serverTime);
 });