httpstat:一个检查网站性能的 curl 统计分析工具

简介:

httpstat 是一个 Python 脚本,它以美妙妥善的方式反映了 curl 统计分析,它是一个单一脚本,兼容 Python 3 ,在用户的系统上不需要安装额外的软件(依赖)。

从本质上来说它是一个 cURL 工具的封装,意味着你可以在 URL 后使用几个有效的 cURL 选项,但是不包括 -w、 -D、 -o、 -s 和 -S 选项,这些已经被 httpstat 使用了。

httpstat Curl 统计分析工具

httpstat Curl 统计分析工具

你可以看到上图的一个 ASCII 表显示了每个过程消耗多长时间,对我来说最重要的一步是“服务器处理server processing” – 如果这个数字很高,那么你需要优化你网站服务器来加速访问速度

网站或服务器优化你可以查看我们的文章:

  1. 5 个优化 Apache Web 服务器性能的技巧
  2. 使 Apache 和 Nginx 性能提升 10 倍
  3. 如何使用 Gzip 模块提高 Nginx 性能
  4. 15 个优化 MySQL/MariaDB 性能的建议

使用下面安装说明和用法来获取 httpstat 检查出你的网站速度。

在 Linux 系统中安装 httpstat

你可以使用两种合理的方法安装 httpstat :

  1. 使用 wget 命令直接从它的 Github 仓库获取如下:
 
  1. $ wget -c https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
  1. 使用 pip(这个方法允许 httpstat 作为命令安装到你的系统中)像这样:
 
  1. $ sudo pip install httpstat

注:确保 pip 包已经在系统上安装了,如果没使用你的发行版包管理器 yum 或 apt安装它。

在 Linux 中如何使用 httpstat

httpstat 可以根据你安装它的方式来使用,如果你直接下载了它,进入下载目录使用下面的语句运行它:

 
  1. $ python httpstat.py url cURL_options

如果你使用 pip 来安装它,你可以作为命令来执行它,如下表:

 
  1. $ httpstat url cURL_options

查看 httpstat 帮助页,命令如下:

 
  1. $ python httpstat.py --help
  2. $ httpstat --help

httpstat 帮助:

 
  1. Usage: httpstat URL [CURL_OPTIONS]
  2. httpstat -h | --help
  3. httpstat --version
  4. Arguments:
  5. URL url to request, could be with or without `http(s)://` prefix
  6. Options:
  7. CURL_OPTIONS any curl supported options, except for -w -D -o -S -s,
  8. which are already used internally.
  9. -h --help show this screen.
  10. --version show version.
  11. Environments:
  12. HTTPSTAT_SHOW_BODY Set to `true` to show response body in the output,
  13. note that body length is limited to 1023 bytes, will be
  14. truncated if exceeds. Default is `false`.
  15. HTTPSTAT_SHOW_IP By default httpstat shows remote and local IP/port address.
  16. Set to `false` to disable this feature. Default is `true`.
  17. HTTPSTAT_SHOW_SPEED Set to `true` to show download and upload speed.
  18. Default is `false`.
  19. HTTPSTAT_SAVE_BODY By default httpstat stores body in a tmp file,
  20. set to `false` to disable this feature. Default is `true`
  21. HTTPSTAT_CURL_BIN Indicate the curl bin path to use. Default is `curl`
  22. from current shell $PATH.
  23. HTTPSTAT_DEBUG Set to `true` to see debugging logs. Default is `false`

从上面帮助命令的输出,你可以看出 httpstat 已经具备了一些可以影响其行为的环境变量。

使用它们,只需输出适当的值的这些变量到 .bashrc 或 .zshrc 文件。

例如:

 
  1. export HTTPSTAT_SHOW_IP=false
  2. export HTTPSTAT_SHOW_SPEED=true
  3. export HTTPSTAT_SAVE_BODY=false
  4. export HTTPSTAT_DEBUG=true

你一旦添加完它们,保存文件然后运行下面的命令使改变生效:

$ source  ~/.bashrc

你可以指定使用 cURL 执行文件的路径,默认使用的是当前 shell 的 $PATH 环境变量

下面是一些展示 httpstat 如何工作的例子。

 
  1. $ python httpstat.py google.com
  2. $ httpstat google.com

httpstat  展示网站统计分析

httpstat – 展示网站统计分析

接下来的命令中:

  1. -X 命令标记指定一个客户与 HTTP 服务器连接的请求方法。
  2. --data-urlencode 这个选项将会把数据(这里是 a=b)按 URL 编码的方式编码后再提交。
  3. -v 开启详细模式。
 
  1. $ python httpstat.py httpbin.org/post -X POST --data-urlencode "a=b" -v

httpstat  定制提交请求

httpstat – 定制提交请求

原文发布时间为:2017-12-16

本文来自云栖社区合作伙伴“Linux中国”

相关文章
|
前端开发 JavaScript 开发者
网站流量日志埋点收集—前端收集数据脚本|学习笔记
快速学习网站流量日志埋点收集—前端收集数据脚本
205 0
网站流量日志埋点收集—前端收集数据脚本|学习笔记
|
监控 数据挖掘 开发者
网站流量日志分析--统计分析--复合指标分析--跳出率|学习笔记
快速学习网站流量日志分析--统计分析--复合指标分析--跳出率
151 0
网站流量日志分析--统计分析--复合指标分析--跳出率|学习笔记
|
SQL 监控 HIVE
网站流量日志分析--统计分析--回头单次访客分析|学习笔记
快速学习网站流量日志分析--统计分析--回头单次访客分析
93 0
网站流量日志分析--统计分析--回头单次访客分析|学习笔记
|
SQL 数据采集 监控
网站流量日志分析--统计分析--复合指标分析--平均访问频度|学习笔记
快速学习网站流量日志分析--统计分析--复合指标分析--平均访问频度
154 0
网站流量日志分析--统计分析--复合指标分析--平均访问频度|学习笔记
|
SQL 监控 数据处理
网站流量日志分析--统计分析--多维统计分析--来访 referer、时间维度|学习笔记
快速学习网站流量日志分析--统计分析--多维统计分析--来访 referer、时间维度
152 0
网站流量日志分析--统计分析--多维统计分析--来访 referer、时间维度|学习笔记
|
SQL 监控 数据可视化
网站流量日志分析--统计分析--基础指标统计分析(vv、ip)|学习笔记
快速学习网站流量日志分析--统计分析--基础指标统计分析(vv、ip)
234 0
网站流量日志分析--统计分析--基础指标统计分析(vv、ip)|学习笔记
|
Web App开发 监控 JavaScript
(转) 网站统计中的数据收集原理及实现
原文地址:http://blog.codinglabs.org/articles/how-web-analytics-data-collection-system-work.html 网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析、百度统计和腾讯分析等等。
1365 0
|
数据采集 监控 数据安全/隐私保护
我想监控爬虫状况怎么办?Scrapy邮件发送功能及爬虫停止信息 。
一、需求 邮件发送功能,作为一个【通知】或者说【知晓】的方式,在实际应用中会经常使用的,试想一个场景: 你掌握着公司半数以上的爬虫,并且你每天都要监控它们(他们在服务器上),你作为一个爬虫技术从业者,你肯定会想(偷懒),因为不偷懒的工程师不会进步。
4484 0