测速

来源:互联网 发布:网络报警器 编辑:程序博客网 时间:2024/04/28 06:33

挺无语的,测试...

需求是酱紫的:

Mail里面有一个Dropbox的应用,网盘里,可以将Dropbox的附件,也作为邮件的附件发送出去。

整个过程是酱紫的,本地的服务器,需要通过一个proxy(可能在hk,也可能在canada),连接到usa的dropbox服务器,完成整个上传的过程。

现在需要对不同的proxy连接的速度,进行测试,以便在配置中选择应该选择哪个proxy。

过程是酱紫的:

测了四种方式,一是hk的,一是canada的,一是hk->canada的,一是通过特殊的UDP通道。

但是测到速度有问题,与带宽差得比较多。所以还需要不通过proxy,由canada直连到usa的dropbox的速度。

直连的测试比较麻烦。首先,试图使用socket的方式,建立一个socket,连接到dropbox服务器。利用这个socket,来代替proxy。因为其实proxy返回的也是一个fd,file descriptor,socket的句柄。在https的设置使用这个句柄就可以了。但是有问题,因为是https,所以需要使用到ssl,但是在程序里实现它又比较麻烦。

然后,尝试使用dropbox提供的api,python的,来直连。但是我们canada服务器上的python版本较低,安装不成功,更改python也怕影响其他服务。

所以,最后是使用了curl,直接模拟了https的请求,进行测试,使用time命令就可以看到执行这一操作的大小。

改进是酱紫的:

现在是一个离线的功能,就是离线测试,测试那个服务器的速度快,就使用那个,手动去修改配置。但是可以智能一点,使用测试程序去测试那个好,然后根据测试结果去自动修改服务器。等于它也是一个定期执行的工具。

对应的linux命令,应该是cron。对应可以看这里:http://blog.csdn.net/flyhawk007blog/article/details/2689678