GOCI下载速度分析

概括

GOCI数据还在下载中,4T的硬盘已经装满两个了,现在想看最终的下载速度是多少,个人感觉应该是8m/s左右。之前都是手动计算六个小时或一晚上的平均速度,现在想看下每小时的平均速度,顺便学习下Python的Pandas模块。主要参考该教程:十分钟快速入门 Pandas

思路

获取下载文件的属性值,统计一定时间段内的下载大小,得出该段时间内的平均下载速度,作图展示。

代码

# -*- coding: utf-8 -*-
import os,time,glob
import pandas as pd
import matplotlib.pyplot as plt
DIR = "K:\\GOCI_L1_2013" #存放路径
PATTERN = "./*.gz" #查询文件格式
UNIT = 1024 #单位换算
MIN = 13
MAX = 23

def get_frame():
    data={
        'name' : [],
        'size_' : [], #字节大小,加'_'避免和DataFrame本身size属性重合
        'atime' : [], #上次访问时间
        'atime_':[], #格式化上次访问时间
        'mtime' : [], #最后一次修改时间
        'mtime_':[], #格式化最后一次修改时间
        'ctime' : [], #创建时间
        'ctime_':[], #格式化创建时间
        }
    file_list = file_list=glob.glob(PATTERN) #获取文件列表
    for file in file_list:  #获取每个文件属性信息
        data['name'].append(file.split('\\')[-1])
        stat = os.stat(file)
        data['size_'].append(stat[-4])
        data['atime'].append(stat[-3])
        data['mtime'].append(stat[-2])
        data['ctime'].append(stat[-1])
        data['atime_'].append(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(stat[-3])))
        data['mtime_'].append(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(stat[-2])))
        data['ctime_'].append(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(stat[-1])))
    frame = pd.DataFrame(data)
    return frame

def get_speed(frame,mi,ma):
    data={
        'time':[],
        'speed':[]
        }
    for i in range(mi,ma):
        min_str = '2018-12-20 {:02d}:00:00'.format(i)
        max_str = '2018-12-20 {:02d}:00:00'.format(i+1)
        data['time'].append(i+0.5)
        #data['time'].append('{:02d}-{:02d}'.format(i,i+1))
        data['speed'].append(frame[(frame.ctime_>min_str)&(frame.mtime_<max_str)].size_.sum()/1024/1024/3600)
    frame = pd.DataFrame(data)
    return frame




if __name__=="__main__":
    os.chdir(DIR)
    frame_data = get_frame()
    frame_speed = get_speed(frame_data,MIN,MAX)
    print(frame_speed)
    frame_speed.plot(x='time',y='speed')
    plt.show()
    input('按任意键结束')

结果

在这里插入图片描述
这是十二月二十一号的分时下载速度,从图中可以看出,一点之后下载速度都在10m/s以上,可能大家一点之后都休息了(夜猫子这么少,不科学),六点多是下载速度最大的时候,可以达到15m/s(这是为什么呢),到十一点之后,速度就再也没有超过10m/s,看来十一点多大家都起来了。晚上下载速度比较差,其中一度断网。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值