调优 网站性能指标

简介:

wKiom1M-YNHQJrYAAAVNYW9-ZpY075.jpg

curl -o /dev/null -s -w %{time_total}"\n" www.yy.com

-w %{option}    //指定要获取的指标

可获取的指标,如下所示:

time_total           //完成请求所用的时间

time_namelookup    //解析完成的时间

time_connect        //建立到服务器的 TCP 连接所用的时间

time_pretransfer      //链接建立完成准备响应时间

time_redirect         //重定向完成时间

time_starttransfer     //在发出请求之后,Web 服务器返回数据的第一个字节所用的时间

http_code            //http返回类似404,200,500等

size_download        //下载网页或文件大小

size_upload          //上传文件大小

size_header          //响应头

size_request          //发送请求参数大小

speed_download      //传输速度

speed_upload         //平均上传速度

content_type          //下载文件类型. (Added in 7.9.5)


由于网站可能做了keepalive,或者DNS缓存等等,通过curl一次性获取多组数据实际上有可能数据并不那么准确,较好的办法是每间隔一段时间去取一次值,一段时间之后再运行脚本获取平均值。定时获取执行curl命令需要借助crontab的帮助


#每分钟获取一次数据

root@node1:~# crontab –e

* * * * *  curl –o /dev/null –s –w %{time_connect} www.yy.com >> /tmp/data/data_collected


#!/bin/bash

outputfile="/tmp/data/data_collected"

awk 'BEGIN{tt=0;tc=0;tr=0;tn=0;tp=0;ts=0}{tt+=$1;tc+=$2;tr+=$3;tn+=$4;tp+=$5;ts+=$6}\

END{print \

" time_total = "tt/NR"\n",\

"time_connect = "tc/NR"\n",\

"time_redirect = "tr/NR"\n",\

"time_namelookup = "tn/NR"\n",\

"time_pretransfer = "tp/NR"\n",\

"time_starttransfer = "ts/NR"\n"}' $outputfile

cat /dev/null > $outputfile


or 参考 http://jaseywang.me/


cat  curl-format

time_namelookup:  %{time_namelookup}\n

       time_connect:  %{time_connect}\n

    time_appconnect:  %{time_appconnect}\n

   time_pretransfer:  %{time_pretransfer}\n

      time_redirect:  %{time_redirect}\n

 time_starttransfer:  %{time_starttransfer}\n

                    ———-\n

         time_total:  %{time_total}\n


curl -w "@curl-format.txt" -o /dev/null -s www.yy.com


为什么需要这个东西,因为有时候网站故障,就是dns解析慢等原因,前提是你需要学会抓包。


更好的是把这个东西加入zabbix

参考http://xiaoluoge.blog.51cto.com/9141967/1829233



本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1854826,如需转载请自行联系原作者

相关文章
|
负载均衡 Kubernetes 网络协议
kubernetes--kube-proxy组件深入理解
每台机器上都运行一个kube-proxy服务’它监听API server中service和endpoint的变化情 况,并通过iptables等来为服务配置负载均衡(仅支持TCP和UDP)
657 0
|
存储 Kubernetes 安全
Kubernetes 中如何对 etcd 进行备份和还原
Kubernetes 中如何对 etcd 进行备份和还原
|
Kubernetes Cloud Native 安全
专访 KubeVela 核心团队:如何简化云原生复杂环境下的应用交付和管理
2021 年 7 月,KubeVela 和 OAM 项目整体捐赠给 CNCF 基金会托管。 在 1.2 版本中,KubeVela 新增了以应用为中心的控制面板 UI 功能,使应用组装、分发、交付流程变得更简单,并可以通过 UI 控制台及时了解整个交付链路状态,简化多云/混合环境交付方式。另外还新增了基于订阅模型的开源应用交付系统 ,使企业和云原生应用开发者只需要在 GitHub/Gitlab 上修改代码,就可以自动完成云原生应用交付的整个链路。 从开源到现在已经有一年多,KubeVela 社区取得了什么样的进展?有了哪些落地实践?1.2 版本中为什么会新增加这两个功能,适合于什么场景?
1902 80
专访 KubeVela 核心团队:如何简化云原生复杂环境下的应用交付和管理
|
Kubernetes Ubuntu Devops
Kubectl debug 调试容器
Kubectl debug 调试容器
2409 0
Kubectl debug 调试容器
|
Kubernetes 开发工具 Docker
Ubuntu20.04安装k8s v1.21.0
Ubuntu20.04安装k8s v1.21.0
997 0
|
JSON Kubernetes Cloud Native
云原生|kubernetes|多集群管理之kubeconfig文件配置和使用(定义,使用方法,合并管理多集群)
云原生|kubernetes|多集群管理之kubeconfig文件配置和使用(定义,使用方法,合并管理多集群)
1260 0
|
负载均衡 监控 Cloud Native
阿里云祝顺民:构筑万物互联的智能云网络
近日,在第六届未来网络大会上,阿里云祝顺民与中国工程学院院士及多位运营商专家共同探讨云网融合的发展现状和面向云原生网络的趋势。
973 0
阿里云祝顺民:构筑万物互联的智能云网络