python测试网站访问速度
# -*- coding: utf-8 -*-
# @Author : Felix Wang
# @time : 2018/8/13 22:13 # pip3 install pycurl
import pycurl
from io import BytesIO def test_website(url):
c = pycurl.Curl()
buffer = BytesIO() # 创建缓存对象
c.setopt(c.WRITEDATA, buffer) # 设置资源数据写入到缓存对象
c.setopt(c.URL, url) # 指定请求的URL
c.setopt(c.MAXREDIRS, 5) # 指定HTTP重定向的最大数
c.perform() # 执行 http_code = c.getinfo(pycurl.HTTP_CODE) # 返回的HTTP状态码
dns_resolve = c.getinfo(pycurl.NAMELOOKUP_TIME) # DNS解析所消耗的时间
http_conn_time = c.getinfo(pycurl.CONNECT_TIME) # 建立连接所消耗的时间
http_pre_trans = c.getinfo(pycurl.PRETRANSFER_TIME) # 从建立连接到准备传输所消耗的时间
http_start_trans = c.getinfo(pycurl.STARTTRANSFER_TIME) # 从建立连接到传输开始消耗的时间
http_total_time = c.getinfo(pycurl.TOTAL_TIME) # 传输结束所消耗的总时间
http_size_download = c.getinfo(pycurl.SIZE_DOWNLOAD) # 下载数据包大小
http_size_upload = c.getinfo(pycurl.SIZE_UPLOAD) # 上传数据包大小
http_header_size = c.getinfo(pycurl.HEADER_SIZE) # HTTP头部大小
http_speed_downlaod = c.getinfo(pycurl.SPEED_DOWNLOAD) # 平均下载速度
http_speed_upload = c.getinfo(pycurl.SPEED_UPLOAD) # 平均上传速度
http_redirect_time = c.getinfo(pycurl.REDIRECT_TIME) # 重定向所消耗的时间 print('HTTP响应状态: %d' % http_code)
print('DNS解析时间:%.2f ms' % (dns_resolve * 1000))
print('建立连接时间: %.2f ms' % (http_conn_time * 1000))
print('准备传输时间: %.2f ms' % (http_pre_trans * 1000))
print("传输开始时间: %.2f ms" % (http_start_trans * 1000))
print("传输结束时间: %.2f ms" % (http_total_time * 1000))
print("重定向时间: %.2f ms" % (http_redirect_time * 1000))
print("上传数据包大小: %d bytes/s" % http_size_upload)
print("下载数据包大小: %d bytes/s" % http_size_download)
print("HTTP头大小: %d bytes/s" % http_header_size)
print("平均上传速度: %d k/s" % (http_speed_upload / 1024))
print("平均下载速度: %d k/s" % (http_speed_downlaod / 1024)) if __name__ == '__main__':
test_url = 'www.baidu.com'
test_website(test_url)
python测试网站访问速度的更多相关文章
- 如何使用ping和tracert命令测试网站访问速度
在我们平时访问的网站中,有一些网站访问速度非常快,比如百度搜索网站和一些门户网站,有些网站访问很慢,有些网站甚至无法访问.那么我们该如何判断这些网站的访问速度呢?下面我们就使用Windows的ping ...
- 测试网站访问速度的方法(GTmetrix)
全方位的免费网站速度测试工具 — GTmetrix 它结合了Google Page Speed和Yahoo! YSlow的网页速度测试功能,并且提供可行的建议帮你改善网站速度.会根据网站的具体情况, ...
- windows下通过ping和tracert工具来测试网站访问速度
一.环境 OS: windows 二.步骤 2.1.ping mirrors.163.com Pinging mirrors.163.com [23.111.1.151] with 32 bytes ...
- 使用 Nginx 提升网站访问速度
使用 Nginx 提升网站访问速度 http://www.ibm.com/developerworks/cn/web/wa-lo-nginx/ Nginx 简介 Nginx ("engine ...
- Apache 使用gzip、deflate 压缩页面加快网站访问速度
Apache 使用gzip 压缩页面加快网站访问速度 介绍: 网页压缩来进一步提升网页的浏览速度,它完全不需要任何的成本,只不过是会让您的服务器CPU占用率稍微提升一两个百分点而已或者更少. 原理 ...
- [技术博客]使用CDN加快网站访问速度
[技术博客]使用CDN加快网站访问速度 2s : most users are willing to wait 10s : the limit for keeping the user's atten ...
- 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度。
巧用linux服务器的/dev/shm/ 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度. 首先让我们认识一下,什么是tmpfs和/dev/shm/? ...
- 使用PHP和GZip压缩网站JS/CSS文件加速网站访问速度
使用PHP和GZip压缩网站JS/CSS文件加速网站访问速度 一些泛WEB 2.0网站为了追求用户体验,可能会大量使用CSS和JS文件.这就导致在服务器带宽一定的情况下,多用户并发访问速度变慢.如何加 ...
- 10倍速!一招儿解决因googleapis被墙导致的许多国外网站访问速度慢的问题
1x.com 是我非常喜欢的一家国外的摄影网站.但,打开它的首页要1分多钟!点击小图看大图的二级页面根本打不开.看着写着“Nude content”的小图却点不开大图的心情你们造吗?!很多国外网站访问 ...
随机推荐
- 4-Perl 数据类型
1.Perl 数据类型Perl 是一种弱类型语言,所以变量不需要指定类型,Perl 解释器会根据上下文自动选择匹配类型.Perl 有三个基本的数据类型:标量.数组.哈希.以下是这三种数据类型的说明:1 ...
- 大数据学习(3)- redis集群
安装方法摘自 http://www.redis.cn/topics/cluster-tutorial.html 这个方法为简单版的方法,在原文的基础上,我加了一点参数,其他参数配置可以请教其他大神 搭 ...
- vscode调试npm包技巧
官网文档:https://code.visualstudio.com/docs/nodejs/nodejs-debugging node调试方法(日志和debuuger):https://blog.r ...
- C# 移除数组中重复项
方法一: static void Main(string[] args) { //看到数组的第一反应应该是排序 ,,,,,,,}; //去掉数组中重复的项 //先排序 arrayAsc(array); ...
- KTV歌曲播放原理
歌曲播放原理 一开始要有一个Song类,在类外面定义枚举,在里面放四种状态, 为:已播放,未播放,重唱,切歌 在类里把歌曲名称和路径封装成字段 起初每首歌的状态默认为未播放 通过MadeSongPla ...
- Linux中 tr 命令详解
tr - translate or delete characters 主要用于转换和删除字符 带有最常用选项的t r命令格式为:tr -c -d -s [ "string1_to_tran ...
- TCP坚持定时器
窗口探查(window probe) 当接收方TCP缓冲区没有剩余空间后,在ACK中会通知发送方window=0,此时发送方就暂停发送数据.当接收方TCP缓冲区又有空间后,会再次发送一个ACK,告知其 ...
- Delphi 图形图像对象组件
- 【wifi移植 1】 ap6210 wifi模块移植
1. 编译wifi相关功能为模块,生成bcmdhd.ko:由bcmdhd.ko的模块信息可知,该模块依赖于cfg80211.ko和rfkill.ko. 2. 写脚本,开机自动加载wifi模块. 3. ...
- ble ic
ti cc25xxnordic nrf24xx nrf51xx nrf52xx Beken bk34xx