`
bollaxu
  • 浏览: 219561 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Web Polygraph (WebAxe-4) 测试反向代理缓存服务器

阅读更多

由于工作中时常遇到web server/cache的开发工作。一旦做出一些改动,或者添加一些功能,除了功能测试(比如设计一些测试用例)、查看debug信息之外,还需要对整个系统做全面的测试。反向代理服务器和缓存,往往承载着大量的并发请求,对于稳定性的要求很高。这就需要一款比较好的benchmark来进行测试。

 

Web Polygraph是几年前专门为缓存服务器、代理服务器等设计的测试工具。它具有比较完整的测试用例(比如专门为正向代理和反向代理的测试用例)。另外,它还有一套专门的description language (PGL),可以让测试者来定制测试用例。它的测试结果的呈现也是比较强大的,可以在测试的时候指定log路径,并对数据进行分析和整理,然后通过web页面的方式呈现。

 

因为是第一次使用,对于polygraph的语言和配置不是太熟。安装好以后,就直接用了两个虚拟机来跑反向代理的测试用例(WebAxe-4)。第一个虚拟机上面跑了nginx,同时作为反向代理和缓存服务器来使用。第二个虚拟机上面跑polygraph-server和polygraph-client。为什么同时有server和client呢?因为polygraph会模拟用户(client)和源站(server)的行为,polygraph-client会生成一些特定的请求,通过proxy发送给源站,而模拟源站的polygraph-server则会根据配置里面指定的对象大小,生成响应回复给client。client和server一般用同一个配置文件,但是它们用到配置文件的不同部分。另外,配置文件里面有可能会通过#include来调用其他的配置文件,这个时候就需要指定--cfg_dirs参数,否则就会报错。正常情况下,server、client和proxy应该在不同的服务器上,这里为了方便举例,把server和client放在一起。

 

具体的操作如下:

 

1. 把原来的配置文件 WebAxe-4.pg复制了一份到WebAxe-4-test.pg,然后修改里面的参数

 

TheBench = {

        client_side = {

                addr_space = [ 'lo::10.101.1-10.1-250/16' ]; //ip范围可以根据peak request rate再作调整

                hosts = [ '192.168.31.129' ];                          //虚拟机2的IP

        };

        server_side = {

                hosts = [ '192.168.31.129:9090' ]; //虚拟机2的IP

        };

        proxy_side = {

                hosts = [ '172.16.101.32:8080' ]; //虚拟机1的alias IP

        };

};

//以下部分可以按照具体情况来配置

TheBench.peak_req_rate = 500/sec;

rate FillRate = 50%*TheBench.peak_req_rate;

size ProxyCacheSize = 500MB;

size WSS = 1GB;

 

2. 根据上面的配置,client side会自动生成多个agent(假象用户),每个agent会根据情况绑定1个或多个IP,这些IP就是在addr_space里面指定的(其实就是拿这些ip绑定一些alias NIC)。我又给proxy side配置了一个alias,绑定在虚拟机1的eth0(即192.168.31.128的NIC)上。注意:虽然这两个虚拟机的eth0是在同一个网段,因为使用了alias NIC,需要对alias IP做路由配置,这样10.101.0.0/16网段的agent才能和172.16.101.32建立TCP连接。具体的做法,就是使用route命令来生成相应的路由规则。

 

3. 在虚拟机1上的nginx(即被测试的反向代理缓存服务器)上面配置,注意要把upstream xxx {}里面的server(即源站)配成虚拟机2的IP;proxy_cache_path命令的参数max_size也需要和polygraph的size ProxyCacheSize一样。配置好了以后,启动nginx。

 

4. 启动polygraph-server程序,指定--config参数,--cfg_dirs参数和--log参数。如果需要看更多的信息的话,可以设定--verb_lvl参数。

 

5. 启动polygraph-client程序,跟polygraph-server基本一样。

 

6. 正常的话,应该可以看到一些output信息。可以参考http://www.web-polygraph.org/docs/reference/output/console.html。把结果生成html页面,只需要使用polygraph-reporter命令。

0
0
分享到:
评论

相关推荐

    webpolygraph功能介绍

    - **灵活性**:WebPolygraph是一种多功能的Web流量生成工具,能够测量代理服务器的性能。该基准测试可以配置为产生各种现实或非现实的工作负载,适用于宏观和微观级别的基准测试。 - **独立配置**:大多数流量属性...

    web 压力测试工具 polygraph

    Polygraph是一款广泛用于Web性能和压力测试的工具,它能够模拟大量并发用户对Web服务器进行访问,以此来评估服务器在高负载情况下的性能表现和稳定性。通过运行详尽的测试场景,Polygraph能够帮助系统管理员、开发者...

    为web-polygraph添加user_agent和add_headers配置变量

    在使用web-polygraph为代理,缓存软件做测试的时候,发现官方提供的polygraph-4.3.2代码功能中,配置文件没法配置user-agent和添加自己想要添加的头,于是对代码修改之,使其能使用user_agent和add_headers两个配置...

    polygraph-4.3.2

    WEB压力测试工具,linux下的版本polygraph-4.3.2-src.tar

    【McAfee】McAfee Web Gateway性能测试方案V1.docx

    安装完成后,其可执行文件应位于/usr/local/polygraph目录下,包括各种测试和监控工具,如polygraph-client、polygraph-server等。 测试过程通常会涉及模拟大量并发用户请求,模拟真实世界中的网络流量,观察MWG在...

    十个免费的Web压力测试工具

    它提供了多种测试模式,包括直接测试IIS服务器、通过代理服务器测试等,支持多种身份验证方式,如DPA、NTLM和SSL。此外,该工具还能够处理cookie和会话状态,确保测试的准确性。Microsoft Web Application Stress ...

    web压力测试工具最新版

    Web压力测试是评估网站性能和稳定性的关键环节,它能够模拟多个并发用户访问网站,以检测服务器在高负载下的响应速度和崩溃阈值。在这个领域,`siege` 是一个非常受欢迎的开源工具,尤其适合开发者和系统管理员进行...

    web教程使用

    很好的web教程 适合初学者 入门很快 上手很快 高效简洁

    测谎器「Polygraph」-crx插件

    测谎仪分析网页,并警告你不诚实的文章。 ... 许多新闻工作者和作家使用过分耸人听闻,夸张或彻头彻尾的欺骗性标题,以引起人们的注意。 该扩展程序会分析标题,...它也是开源的:http://bit.ly/2j4zG6m 支持语言:English

    web压力测试工具介绍

    9. **Web Polygraph**:Web Polygraph是企业级的Web性能测试工具,被广泛采用为基准测试工具,包括微软也在其软件性能分析中使用。 10. **OpenSTA**:OpenSTA是一个免费的开源Web性能测试工具,具有强大的脚本录制...

    开源压力测试工具.pdf

    9. Web Polygraph:Web Polygraph是广泛使用的Web性能测试工具,尤其在微软等公司进行软件性能分析时常用,被许多测试工程师视为必备技能。 10. OpenSTA:OpenSTA是一个免费的、开源的Web性能测试工具,能录制复杂...

    Tracking-eye-movements-in-human-polygraph-test

    标题 "Tracking-eye-movements-in-human-polygraph-test" 暗示了这是一个关于通过追踪眼睛运动来研究人类测谎仪测试的项目。在心理学和生理学领域,眼动追踪技术已被广泛应用于研究人类认知过程,包括注意力、记忆和...

    压力测试软件报告

    9. **Web Polygraph**:一个全面的Web服务器压力测试工具,支持多种Web服务器和协议。 10. **OpenSTA**:开放源码的多用户并发测试工具,用于Web应用和分布式系统的性能测试。 【三、其它压力测试工具】 1. **...

    Squid 中文权威指南(8)

    检测这一瓶颈可以通过压力测试实现,比如使用WebPolygraph等工具进行系统负载模拟,观察响应时间和命中率的变化趋势。如果在高负载下,禁用磁盘缓存后平均响应时间显著改善,则可确认磁盘I/O是主要瓶颈。 #### 文件...

    Polygraph-crx插件

    语言:English 测谎仪会分析网页并警告您有关不诚实的文章。 ... 许多新闻工作者和作家使用过分耸人听闻,夸张或彻头彻尾的欺骗性标题,以引起人们的注意。 该扩展程序会分析标题,...它也是开源的:http://bit.ly/2j4zG6m

    web压力测试工具_动力节点Java 学院整理

    9. WebPolygraph:WebPolygraph是一个性能测试工具,被许多公司用作标准测试工具,包括微软在分析其软件性能时也使用该工具。它的测试结果以图形化的方式呈现,大大提高了测试报告的可读性。 10. OpenSTA:OpenSTA...

    polygraph-interface

    笔记 几个js文件使用require; 为了将它们合并到扩展中,必须使用browserify将它们“捆绑”。 npm install browserify browserify FILE.js > bundled\FILE.js 在html中使用文件的捆绑版本。

    手动与自动化心理测试仪在侦查实践中的适用性.rar

    4. 操作难度:手动测试需要专业人员操作,而自动化测试则对操作者的技术要求较低,但需要高质量的硬件支持。 四、侦查实践中的应用 在实际侦查工作中,手动与自动化心理测试仪常常结合使用,以互相补充。手动测试...

    杀入内部网络

    伪造数字签名添加器.exe

Global site tag (gtag.js) - Google Analytics