挺无语的,测试...
需求是酱紫的:
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.youkuaiyun.com/flyhawk007blog/article/details/2689678