linux http 分析工具,技术|httpstat:一个检查网站性能的 curl 统计分析工具

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

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

9a2f028dae771b1f92b90683dd6bb7d0.png

httpstat Curl 统计分析工具

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

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

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

在 Linux 系统中安装 httpstat

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

使用 wget 命令直接从它的 Github 仓库获取如下:

$ wget -c https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py

使用 pip(这个方法允许 httpstat 作为命令安装到你的系统中)像这样:

$ sudo pip install httpstat

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

在 Linux 中如何使用 httpstat

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

$ python httpstat.py url cURL_options

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

$ httpstat url cURL_options

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

$ python httpstat.py --help

$ httpstat --help

httpstat 帮助:

Usage: httpstat URL [CURL_OPTIONS]

httpstat -h | --help

httpstat --version

Arguments:

URL url to request, could be with or without `http(s)://` prefix

Options:

CURL_OPTIONS any curl supported options, except for -w -D -o -S -s,

which are already used internally.

-h --help show this screen.

--version show version.

Environments:

HTTPSTAT_SHOW_BODY Set to `true` to show response body in the output,

note that body length is limited to 1023 bytes, will be

truncated if exceeds. Default is `false`.

HTTPSTAT_SHOW_IP By default httpstat shows remote and local IP/port address.

Set to `false` to disable this feature. Default is `true`.

HTTPSTAT_SHOW_SPEED Set to `true` to show download and upload speed.

Default is `false`.

HTTPSTAT_SAVE_BODY By default httpstat stores body in a tmp file,

set to `false` to disable this feature. Default is `true`

HTTPSTAT_CURL_BIN Indicate the curl bin path to use. Default is `curl`

from current shell $PATH.

HTTPSTAT_DEBUG Set to `true` to see debugging logs. Default is `false`

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

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

例如:

export HTTPSTAT_SHOW_IP=false

export HTTPSTAT_SHOW_SPEED=true

export HTTPSTAT_SAVE_BODY=false

export HTTPSTAT_DEBUG=true

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

$ source ~/.bashrc

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

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

$ python httpstat.py google.com

$ httpstat google.com

22eaf733f6784454c582ab6c73b4685a.png

httpstat – 展示网站统计分析

接下来的命令中:

-X 命令标记指定一个客户与 HTTP 服务器连接的请求方法。

--data-urlencode 这个选项将会把数据(这里是 a=b)按 URL 编码的方式编码后再提交。

-v 开启详细模式。

$ python httpstat.py httpbin.org/post -X POST --data-urlencode "a=b" -v

9dcf50e55f1e3bb8dcaaae11cd3134e3.png

httpstat – 定制提交请求

你可以查看 cURL 的帮助获取更多有用的高级选项,或者浏览 httpstat 的 Github 仓库: https://github.com/reorx/httpstat

这篇文章中,我们讲述了一个有效的工具,它以简单和整洁方式来查看 cURL 统计分析。如果你知道任何类似的工具,别犹豫,让我们知道,你也可以问问题或评论这篇文章或 httpstat,通过下面反馈。

本文由 LCTT 组织编译,Linux中国 荣誉推出 linisi.svg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软 Ignite 大会 PowerBI 划重点

2021 年 11 月 2 日,微软举办 Ignite 大会,其中关于 Power BI 有哪些重点,带给你了解。摘要Power BI 和 Power Point 将原生整合。Power BI 和 Teams 将更深入整合。Power BI 云端数据集推出自动聚合。Power BI 数据模型推出混合表。Power BI…

周报_2013第03周(2013/01/13-2013/01/19)

2013.01.14 Winform .Net FrameWork 3.5 支持 Client Application Service(ASP.NET service: login authentication、roles、profile settings),.Net FrameWork 4.0 不支持。转载于:https://www.cnblogs.com/DancingFish/archive/2013/01/14/…

java序列化的机制和原理

Java序列化的机制和原理有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserializ…

DirectSound 混音的实现

啥叫混音呢,其实很简单,如果两个人同时说话 ,他们俩发出的声波在空气中进行了波的叠加,这其实就是个混音。计算机的混音,其实是一个虚拟的混音操作,因为计算机其实是只有一个声源(现在的计算机通…

Codeforces Round #330 (Div. 2) B. Pasha and Phone 容斥定理

B. Pasha and Phone Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/595/problem/B Description Pasha has recently bought a new phone jPager and started adding his friends phone numbers there. Each phone number consists of exact…

美女晕倒怎么办?二哈:这不是一滋就醒......

1 永远不要质疑二哈▼2 睡觉也不耽误练功▼3 谁还没为数学考试受过伤呢?▼4 可能我的嘴巴安装了笑话过滤器吧▼5 我书读得少,你别吓唬我▼6 希望狗没事儿▼7 海王的微信壁纸事实证明,会计确实不赚钱▼你点的每个赞,我都认真…

linux at java,Linux-Tutorial/Java-bin.md at master · linsanityHuang/Linux-Tutorial · GitHub

Java bin 目录下的工具JVM 内存结构运行时数据区(JVM 规范)VM 栈(JVM 虚拟机栈)是线程私有的,它的生命周期和线程相同。它描述的是 Java 方法执行的内存模式。Java 堆区(Heap)是 Java 虚拟机所管理的内存中最大的一块。是被所有线程共享的一块内存区域,在…

如何在 C# 中使用 FTP 上传文件

咨询区 webvision:我尝试用 C# 上传一个文件到 FTP-Server 上,文件已显示上传成功但显示 0Byte,我的代码大概是这样的。private void button2_Click(object sender, EventArgs e) {var dirPath "C:/Documents and Settings/sander.GD/B…

POJ 3274 Gold Balanced Lineup(哈希)

题目链接 很难想。会哈希&#xff0c;但是想不出。需要一个转化&#xff0c;本来是求某一段上的二进制上每一位的1数目相等&#xff0c;转化为找两段相等的&#xff0c;换元可推出公式。最后注意特判。。 1 #include <iostream>2 #include <cstdio>3 #include <…

java Ant build.xml

Java Ant build.xml详解1,什么是antant是构建工具 2,什么是构建 概念到处可查到&#xff0c;形象来说&#xff0c;你要把代码从某个地方拿来&#xff0c;编译&#xff0c;再拷贝到某个地方去等等操作&#xff0c;当然不仅与此&#xff0c;但是主要用来干这个 3,ant的好处 跨平台…

15℃!人类首次实现高压下室温超导,研究登上Nature封面

全世界只有3.14 % 的人关注了爆炸吧知识本文转自&#xff1a;机器之心今天一项新纪录&#xff0c;轰动整个物理界。「室温超导有可能实现吗&#xff1f;」这个问题困惑了人们许多年。而最新一期的 Nature 杂志封面研究给出了肯定的答案&#xff0c;该研究制造出了第一个无需冷却…

系统日子打印记录

#import <Foundation/Foundation.h>//DmLog----------------------------- #define DmLog_TYPE_1 1 //日志打印 1:开/0:关 #define __DmLOGWITHFUNCTION(s, ...) \ NSLog("%s : %",__FUNCTION__,[NSString stringWithFormat:(s), #…

linux下ui c语言编程,编写的C语言程序,怎么样制作一个UI界面?

c语言制作UI界面需要相关的UI库如windows操作系统本身就提供了UI的接口一个简单的示例代码如下#include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hinstance,HINSTANCE hprevinstance,LPSTR line,int cmd){ static TCHAR AppName[]TEX…

使用自定义卫语句写出更简洁的代码

前言上次&#xff0c;我们介绍了Pitcher,可以帮我们简化卫语句&#xff1a;public User(string name, int age) {Throw.When(string.IsNullOrWhiteSpace(name), new ArgumentNullException(nameof(name)));Throw.When(age < 0, new ArgumentOutOfRangeException(nameof(age)…

Struts2的ResultType和Action处理链

Struts2的ResultType和Action处理链Struts2的结果类型在struts-default.xml中定义了Struts2内置的所有可用的<result-type/> 所有的Struts2结果处理类都要直接或间接的实现com.opensymphony.xwork2.Result接口 在struts-default.xml中的<result-types/>里面&#x…

git fork

http://help.github.com/fork-a-repo/ 概要&#xff1a; 克隆别人的代码库到自己的项目中&#xff0c;可以作为子模块的形式使用&#xff0c;或二次开发 操作流程&#xff1a; 在开源项目中点击fork按钮&#xff0c;稍等一会儿&#xff0c;该项目便会拷贝一份到你的respositori…

转软件开发过程中的各种文档

在项目开发过程中&#xff0c;应该按要求编写好十三种文档&#xff0c;文档编制要求具有  针对性、精确性、清晰性、完整性、灵活性、可追溯性。   ◇ 可行性分析报告&#xff1a;     说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性&#xff0c;评述 …

【ACR2015】依那西普按需维持治疗策略有效抑制RA骨破坏进展

标签: 类风湿关节炎; 依那西普; 药物减停; 复发重治 对RA疾病复发患者, 依那西普按需治疗与持续足剂量治疗是否存在疗效差异&#xff1f; Inui K, et al. ACR 2015. Presentation ID: 477. 背景/目的: 生物DMARDs&#xff08;bDMARDs&#xff09;对RA治疗而言非常重要, 尤其对…

堪称经典!这部由苏联最杰出数学家编写的数学教材,为何能大受推崇?

全世界只有3.14 % 的人关注了爆炸吧知识安德列柯尔莫哥洛夫&#xff0c;20世纪苏联最杰出的数学家&#xff0c;也是20世纪世界上为数极少的几个最有影响的数学家之一。1924年他念大学四年级时就和当时的苏联数学家辛钦一起建立了关于独立随机变量的三级数定理。1928年他得到了随…

浅议NetMQ常见模式和消息加密机制

题图来自https://www.pexels.com/概述在传统企业级开发中&#xff0c;消息队列机制已经成为一种非常常见的技术实现手段&#xff0c;而基于NetMQ则看起来有点像一朵“奇葩”&#xff0c;看起来从名字似乎是一个消息队列&#xff08;Message Quene&#xff09;&#xff0c;但事实…