首页
学习
活动
专区
工具
TVP
发布

使用 curl 创建简单的性能监控工具

cURL,全称Command Line URL viewer,是一种命令行工具,用来发送网络请求,然后得到和提取数据,显示在标准输出(stdout)。

我们可以使用 curl 来获取网页的源码,显示头信息,显示通讯过程等。

在做基于http的接口测试的时候,curl基本上可以完成 postman 所具备的大部分功能,如果你习惯于使用命令行,那么curl是一个非常有用且常用的工具。

CURL的基本使用

查看网页源码

查看response的headers

显示通讯过程

常用参数

使用curl发送GET请求时有一些常用参数。

-o: output,将输出的结果重定向到一个文件

-s: slient, 不显示进度信息

-w: 展示多维度的统计信息

统计请求耗时

使用下面的这条curl命令可以统计出请求的耗时。

其中我们把输出丢弃了(重定向到/dev/null里),并且不显示进度信息,只展示请求的总耗时。

工具化

基于curl的统计请求耗时的能力,我们可以写一个简单的工具调用curl,然后打印出该请求的耗时。

下面用python写的一个简单例子。

使用方式: 在命令行中运行

运行结果

这里的单位是毫秒。

改进

我们的工具只支持输入1个url然后拿到耗时的结果,这显然是跟我们日常的需求不符合的。

我们的日常需求是统计n个接口或页面的耗时,然后找出其中耗时最多的m个接口或页面。

下面我们对工具进行改进,使其可以支持多个url/接口的耗时统计。

运行

结果

统计

支持了一次请求多个接口以后,我们需要对耗时进行排序,找出最耗时的那个页面和接口。

我们用sort命令对第2列进行排序,结果如下

持续运行

我们希望每天晚上都运行1次统计脚本。

这时候可以使用crontab。

这样每天早上2:30 am的时候我们就会运行统计脚本,把接口存储在res.txt中。

持续统计

为了可以统计一段时间内的请求耗时,我们可以把每天的结果落地到es里。这里就不展开了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191216A0MTB800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券