Chinaunix首页 | 论坛 | 博客
  • 博客访问: 27967
  • 博文数量: 38
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 390
  • 用 户 组: 普通用户
  • 注册时间: 2022-12-14 16:49
文章分类

全部博文(38)

文章存档

2024年(4)

2023年(28)

2022年(6)

我的朋友

分类: Python/Ruby

2023-09-23 11:44:32

在当今互联网大数据时代,数据采集日益发展,HTTP代理在其中扮演着重要的角色。和其他产品一样,在使用HTTP代理的时候我们也会遇到诸如:稳定性、匿名程度、响应速度、IP池可用率等问题,如何对HTTP代理进行测试,才能满足我们的需求?

目前市面上很多HTTP代理都有提供试用,购买之前大部分人都会试用,但是我们很经常看到,很多uu在互动社区评判HTTP代理服务提供商提供的产品购买后使用效果很差。

众所周知,品易代理是芝麻代理换了一家皮的HTTP代理公司,主打的就是用户群体不一样。在这里,很多人就会有一个疑问了,芝麻代理测试了,为什么还要测试品易代理呢,这不是换了张皮,芯没有换呀,测试的意义在哪里呢?

img

nonono!还是非常有测试的意义的。

据我观察,芝麻代理旗下有:极光代理,品易代理,太阳代理。

因其芝麻代理的价格摆在那,品牌声量也做出去了,所以对另外3家主打的就是中低端,品易代理算是他们运营的口碑比较好的一家了。

另外的2家在网上的风品有点一言难尽了。这次我们不整虚的,也不搞无脑踩,无论如何,还是看看测试结果,再来评价。

那一起看看测试结果吧!


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个线程池进行多线程测试,其中电脑配置如下:

img



4.测试链接

依然是我们的度同学



5.测试数量

选择提取1000个HTTP代理进行测试。

img



6.测试过程

这次,我把响应速度和可用率结合在一起,测试品易代理对百度站点的连通性和请求延迟。

  • 有效性+延迟部分代码如下:

import logging import time from concurrent.futures import thread import requests thread_pool = thread.ThreadPoolExecutor(max_workers=30) session = requests.session()   # 测试代理ip有效性核心代码 def test_proxy_usability(proxy_ip,thread_id):     target_url = ''     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)         if resp.status_code == 200:             status = "成功"         else:             pass     except Exception as e:         pass  

状态码‘200’就是访问成功,证明这个HTTP代理是有效的。

测试运行如下:

img

img




  • 稳定性:利用平均响应速度方差分析,我们可以发现稳定性如何较高。

计算公式如下:

S^2=1/n[(x1-x)^2+(x2-x)^2+……+(xn-x)^2]


简单来说,excel的里面的方差计算公式VAR()可以帮助我们秒计算。善用excel~


  • 带宽测试部分代码如下:

#测试带宽核心代码 def test_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 MB     start_time = time.time()     downloaded_size = 0     try:         response = requests.get(source_url, proxies=proxies, stream=True, timeout=30)         dirname = f"./{auth_key}_{ip}"         with open(f'{dirname}', 'wb') as f:             for chunk in response.iter_content(chunk_size=8192):                 f.write(chunk)                 downloaded_size += len(chunk)                 f.flush()                 if downloaded_size >= file_size:                     break          elapsed_time = time.time() - start_time         download_speed = downloaded_size / elapsed_time / 1024   # KB/s      except Exception as e:         elapsed_time = time.time() - start_time         download_speed = downloaded_size / elapsed_time / 1024  # MB/s

这里是下载10M文件,记录测试网速。

测试运行如下:

img



7.品易代理HTTP代理测试结果

img



8.特点

  • 有流量套餐,算是为数不多的提供国内HTTP代理服务里面比较少见的;

  • 品类丰富,除了动态代理,隧道代理和静态代理以及独享代理也都有,适用于多种业务场景

  • 注册即送1G流量,买赠。



9.总结

img

我们可以发现总体而言,品易代理的价格是比较偏向中高的,就测试结果而言,这个性价比似乎不是很高。即使注册就送流量、买赠都算上去,价格也是不匪。

让我惊讶的是,品易代理的带宽,略低啊。0.73,甚至1M都没有。

img


相较于之前我们的优秀课代表青果网络来说,青果网络的价格只有品易代理的一半,但是测试结果从稳定性、可用率、匿名度、和响应速度各方面数值都会更好一些,属于物美价优。

青果网络HTTP代理测试各项数值如下:

img

值得一提的是,青果网络不仅在HTTP代理性能上表现优异,他们还根据我们HTTP代理的使用业务场景也区分了产品。

想要成本低点的动态HTTP代理?不仅有,还分了企业池和普通池;

想要独享HTTP代理?有!

想要省事点的隧道代理?整上!

想要IP时常自定义?可以!

想要HTTP代理按量的,安排!

……

这波很难不爱,百宝箱了属于是。

img

希望这篇测试文章,能够帮到那些在观望HTTP代理哪家强的人。

阅读(285) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~