简单记录服务器耗时

简介: 简单记录服务器耗时

周末了,来点简单轻松的内容。


在日常的开发过程中,我经常会关注每个接口的响应速度,准确的说是服务器从接收到请求然后进行业务逻辑处理,最后完成响应这段过程的耗时时长。当然这个小功能中间件早就帮我们做好了,不过我们自己如何简单的去实现它呢?


计时嘛,很简单啊。请求进来之后标记一下时间点,等到完成之后在标记一下计算时间差就行了嘛。


是的,没错。那么我们如何区分每个不同的请求呢,自己维护一个队列记录吗?还有,请求和响应两步分别标记时间是否就意味着我们需要分别调用两次处理函数呢?


当然不是。每个请求都有一个自己对应的 request、response 对象,当请求进来时直接为 request 对象添加自定义的属性记录第一个时间点即可,同时直接监听 response 的 finish 事件。


示例:


是不是真的很简单,处理函数只在最开始调用一次,计算时间间隔调用 node 自带的 process.hrtime 函数即可。


最后再用 curl  模拟不同的请求测试下:

看到这里是不是有一种很熟悉的感觉。


监听请求的响应耗时有助于我们发现服务器接口的性能瓶颈,而我们若是进一步记录不同接口的访问频率则可能帮助我们发现业务上的优化改进点(比如用户多次调用了商品描述接口,但是却很少调用订单买入接口,则我们可能会思考是不是业务流程不够简洁、或者买入的点击按钮不够显眼等等)。


好吧,就写这么点内容了。

目录
相关文章
|
2月前
|
SQL 数据挖掘 关系型数据库
SQL查询次数大于1的记录:高效技巧与方法
在数据库管理中,经常需要统计某些操作的次数,特别是当需要找出哪些记录或值出现的次数超过一定阈值(如大于1次)时
|
5月前
|
存储 Java Serverless
函数计算产品使用问题之执行一个比较耗时的操作导致请求超时时,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
7月前
|
SQL 关系型数据库 分布式数据库
在PolarDB中,慢日志明细中记录的耗时包括这个等待时间吗?
在PolarDB中,慢日志明细中记录的耗时包括这个等待时间吗?
60 0
|
SQL Arthas druid
MyBtais 批量插入慢排查及分析(后续)
MyBtais 批量插入慢排查及分析(后续)
192 0
|
SQL 关系型数据库 MySQL
mysql查询优化实战:查询用时一分半降到三毫秒
项目中的课程预约记录查询功能,线下门店反馈说进入到页面需要等2分钟
mysql查询优化实战:查询用时一分半降到三毫秒
查出与当前系统时间间隔30分钟前后的数据
查出与当前系统时间间隔30分钟前后的数据
96 0
查出与当前系统时间间隔30分钟前后的数据
|
SQL 前端开发 关系型数据库
为什么就查了一行数据,执行那么慢?
今天主要介绍一下查了一行数据,为什么慢到人发慌。剖析一下MySQL的底层运行流程!
为什么就查了一行数据,执行那么慢?
|
Java
这4种方式,统计代码执行耗时,才足够优雅!
这4种方式,统计代码执行耗时,才足够优雅!
345 0
|
存储 自然语言处理 NoSQL
为啥查询那么慢?
为啥查询那么慢?
265 0
为啥查询那么慢?
|
移动开发 小程序 Java
这4种统计代码执行耗时,才足够优雅!
今天,跟大家分享一下,如何在代码中,统计接口耗时,最优雅,性能最高,接下来我将介绍4种统计方式,如果你有更好的方式,欢迎文末留言区,交流
844 0
这4种统计代码执行耗时,才足够优雅!