我在共享托管平台上,想要限制我的应用程序中的查询,以便如果总执行时间超过一定数量,那么我可以让应用程序冷静然后恢复以后。
要做到这一点,我想知道我的每个查询需要多长时间实时处理并在应用程序中进行管理,而不是通过外部进行分析。
我已经在PHP中看到了在查询之前和之后记录时间的示例(even phpMyAdmin does this),但这不会在NodeJS或异步运行查询的任何内容中工作。
所以问题是:我如何在NodeJS中获取查询的实际执行时间?
作为参考,我使用此模块来查询MySQL db:https://github.com/felixge/node-mysql/
答案 0 :(得分:5)
一个选项只是在查询之后的时间戳和查询之后的时间戳,并检查区别如下:
// get a timestamp before running the query
var pre_query = new Date().getTime();
// run the job
connection.query(query, function(err, rows, fields) {
// get a timestamp after running the query
var post_query = new Date().getTime();
// calculate the duration in seconds
var duration = (post_query - pre_query) / 1000;
});
答案 1 :(得分:0)
答案 2 :(得分:0)
console.time('100-elements');
for (let i = 0; i < 100; i++) {}
console.timeEnd('100-elements');
// prints 100-elements: 225.438ms
标签必须是唯一的并且与开始和结束时间相同
在 nodejs 中运行良好。