如何使用Apache Benchmark(ab)登录站点

时间:2014-08-16 12:06:24

标签: apache benchmarking load-testing

我在Ubuntu平台上运行基于php的Web应用程序。我想对1000个并发用户执行负载测试以进行登录过程。 (当提供正确的用户名和密码时,它将被定向到主页)。

我使用Apache Benchmark(ab)进行负载测试。我使用此命令单独加载登录页面。

    ab -n 1000 -c 1000 http://localhost/etsp/

如何扩展此命令以测试登录过程?我的意思是,有没有办法为此提供用户名和密码?

任何提示都将受到高度赞赏。

2 个答案:

答案 0 :(得分:11)

请查看man page for Apache Benchmark,了解您的应用程序最有意义的选项:

  • HTTP基本身份验证
    您希望-A选项提供基本身份验证凭据。

  • 基于Cookie的身份验证
    您希望-C选项提供Cookie名称和值。

  • 基于表单的身份验证触发器
    您希望-T-p选项指定该文件的POST文件和内容类型。如果它是标准HTML表单,则内容类型可能是application/x-www-form-urlencoded。该文件将包含为表单提交编码的登录表单字段名称/值对。 Stack Overflow回答 application/x-www-form-urlencoded or multipart/form-data? 包含有关如何执行此操作的信息。

答案 1 :(得分:3)

您应该使用基于Cookie的身份验证。使用浏览器登录您的网站,获取cookie名称和价值 从linux控制台执行类似这样的事情:

ab -C PHPSESSID = h9s0r2hbpuf91vt7ulvnurp300 -l -r -n 100 -c 10 -k -H“Accept-Encoding:gzip,deflate”http://localhost/some_path/your_page.php

来自文档 -C cookie-name = value     在请求中添加Cookie:行。参数通常采用name = value对的形式。这个字段是可重复的。