在当今互联网大数据时代,数据采集日益发展,HTTP代理在其中扮演着重要的角色。和其他产品一样,在使用HTTP代理的时候我们也会遇到诸如:稳定性、匿名程度、响应速度、IP池可用率等问题,如何对HTTP代理进行测试,才能满足我们的需求?
目前市面上很多HTTP代理都有提供试用,购买之前大部分人都会试用,但是我们很经常看到,很多uu在互动社区评判HTTP代理服务提供商提供的产品购买后使用效果不尽如人意。具体如何,真的很难让人辩驳。
这次我购买了巨量代理进行测试供大家参考。那一起看看测试结果吧!
1.测试HTTP代理的注意事项
在测试之前,我们需要注意的是:
- 测试环境应该符合实际应用环境
- 测试频率要符合我们日常做数据采集的使用习惯
- 测试IP的节点范围要广
- 不同应用场景下的不同需求,需要选择适合的测试方法和指标
2.HTTP代理测试项目
无论测试哪家HTTP代理,逃不开这几项:可用率、响应速度、稳定性、匿名度、安全性测试,以此来全面评估这家HTTP代理的质量。
- 响应速度
通过测量HTTP代理与目标服务器之间的响应时间,评估HTTP代理的连接速度。在测试的时候,可以统计一下所有的时间,然后测算平均响应时间。如果这个HTTP代理能够更快地传输请求和接收响应,证明这个HTTP代理速度越快。
- 可用率
一个可用性高的HTTP代理意味着它在大部分时间内都能正常工作,并且能够顺利传递请求和响应。我这设置成30秒,意思就是使用这个HTTP代理访问网站超过30秒还是得不到响应,就默认为这个HTTP代理无效了。
假设我们一次性提取1000个HTTP代理,如果这1000个HTTP代理在我们使用的时候,有50个超过30秒得到不到响应/无法传递请求,则认为这个可用率为(1000-50)➗1000=95%。
- 稳定性
在数据抓取的时候,我们会用到大量的HTTP代理,一个稳定的HTTP代理能够长时间保持连接,并且不会频繁断开或出现连接错误,才能有效助力我们数据抓取。
- 带宽
对于大部分的用户来说,HTTP代理的带宽高低也很影响使用体验,而影响HTTP代理的带宽高低的因素蛮多的,如:HTTP代理的使用人数、厂商对HTTP代理带宽的限制、代理服务器的性能等。
3.测评环境
良好的测试环境,需要在稳定的网络环境下测试,以及,至少跑得动的设备,手动加狗头。
这次测评,我是使用 python 30个线程池进行多线程测试,其中电脑配置如下:
4.测试链接
依然是我们的度同学
5.测试数量
基于概率,选择提取1000个HTTP代理进行测试。
6.测试过程
这次,我把响应速度和可用率结合在一起,测试巨量代理对百度站点的连通性和请求延迟。
- 有效性+延迟部分代码如下:
# 测试代理ip有效性核心代码deftest_proxy_usability(proxy_ip,thread_id): target_url='http://www.baidu.com'headers= { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" } proxies= { 'http': f'http://{proxy_ip}', 'https': f'http://{proxy_ip}' } try: status="失败"resp=session.get(target_url,headers=headers, proxies=proxies, timeout=5) ifresp.status_code==200: status="成功"else: passexceptExceptionase: pass
状态码‘200’就是访问成功,证明这个HTTP代理是有效的。
测试运行如下:
- 稳定性:利用平均响应速度方差分析,我们可以发现稳定性如何较高。
计算公式如下:
S^2=1/n[(x1-x)^2+(x2-x)^2+……+(xn-x)^2]
简单来说,excel的里面的方差计算公式VAR()可以帮助我们秒计算。善用excel~
- 带宽测试部分代码如下:
#测试带宽核心代码deftest_proxy_bandwidth(auth_key,ip,proxies,thread_id,source_url): res= { "thread_id":thread_id, "ip":ip.replace('\n',''), "target_url":source_url, } file_size=10*1024*1024# 10 MBstart_time=time.time() downloaded_size=0try: response=requests.get(source_url, proxies=proxies, stream=True, timeout=30) dirname=f"./{auth_key}_{ip}"withopen(f'{dirname}', 'wb') asf: forchunkinresponse.iter_content(chunk_size=8192): f.write(chunk) downloaded_size+=len(chunk) f.flush() ifdownloaded_size>=file_size: breakelapsed_time=time.time() -start_timedownload_speed=downloaded_size/elapsed_time/1024# KB/sexceptExceptionase: elapsed_time=time.time() -start_timedownload_speed=downloaded_size/elapsed_time/1024# MB/s
这里是下载10M文件,记录测试网速。
测试运行如下:
7.巨量代理HTTP代理测试结果
u1s1,个人不是很喜欢余额这种方式,虽然有赠送,但是实际使用中无法把握好IP的数量,如果还需要购买一部分,但是面额不多不少很是尴尬,充多了放那心里不舒服,充少了送的少也不舒服,但是目前这么测评下来发现还蛮多家是这种套路的。
是哪家带起来的风气?我发现好几家都延迟都直接写≤10ms?实际上仅仅只是用度娘测,出来的响应速度都完全没有这么快,盲目追求极值,夸大宣传不可取。
不知是否是我购买的是新出的不限量套餐,测试的成功率已经低于90%了,有点无言以对,说好的99.9%可用率在哪里?还是这新出的不包含在内?
同我们的优秀学生青果网络最终各项测试数值相比,青果网络在HTTP代理性能方面表现更加优异,价格更贴合人民群众的需求。
高稳定、高可靠、高带宽、高可用率、高并发……
还有什么是不高的?!
噢,是他们的价格,想了解他们价格的可以自己去看他们的网站,真的惊了。
很多uu就会提出疑问,为什么青果网络能做到性能优异的同时,把价格给打下来?毕竟HTTP代理服务器日常运维、人员配比也需要成本?带着这个疑惑,我翻遍了青果网络的网站,发现他们原来就是IDC出身,自带设备和开发技术的优势,整体而言会比那些HTTP代理的二道贩子更有底气和实力,所以会更推荐青果网络。
希望这篇测试文章,能够帮到那些在观望HTTP代理哪家强的人。