正向代理软件性能评测(squid)-【未完成】

时间:2024-03-11 16:07:08

做测评的动机

由于业务使用的正向代理服务器出现性能瓶颈,所以想对各种正向代理软件做一个性能评测,作为参考。

 

遇到的问题

服务器使用的代理软件是squid。在高并发环境下,出现500错误,并发量在200~300之间。

 

推测问题的原因

高并发情况下,大量tcp链接处于timewait状态,导致tcp链接资源用完(fd耗尽)

 

临时解决方法

echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse  //开启tcp复用
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle  //开启tcp快速回收
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout  //将timewait的时间改为30秒,默认是120

 

测评对象

squid——nginx——haproxy——varnish

简单的安装、测试、查看相关文档后,发现nginx、haproxy一般是作为反向代理,做正向代理性能与squid差距较大,无测试意义

varnish无法做正向代理,因为所有的后端服务器都要在配置文件的设置好。作为网站加速缓存的性能强于squid,也可作为反向代理

 

最终测试方案

横向对比——squid vs nginx

纵向对比——squid2.6.STABLE22 vs squid2.7.STABLE9 vs squid3.0

优化前后对比——squid2.6.STABLE22更改tcp设置前后

取不同类型网页性能对比——baidu(小文件)、taobao(大文件)、urllist(随机文件)

高并发性能对比——100并发、500、1000、2000

 

测试指标

响应时间(average respose time),处理速度(transaction rate),失败率(fail rate)

 

测试工具

siege-3.0.0 http://www.joedog.org/pub/siege/

webbench

http_load  cacheflow公司的测试工具——cfmc  Jmeter+Jprofiler,jmeter+VisualVM  //待研究

主要使用siege和webbench做高并发强压测试

 

测试方案实施

安装两台虚拟机组成局域网

virtual PC A安装待测代理软件,可访问外网

virtual PC B安装测试工具,不可访问外网

由于办公环境强制安全策略的限制,虚拟机无法组成局域网,单台虚拟机也无法访问外网

测试计划流产。。。

 

留下此文,记录测试流程,备用