如何在 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);
});
有什么简单的方法可以在 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);
});