我在Ubuntu平台上运行基于php的Web应用程序。我想对1000个并发用户执行负载测试以进行登录过程。 (当提供正确的用户名和密码时,它将被定向到主页)。
我使用Apache Benchmark(ab)进行负载测试。我使用此命令单独加载登录页面。
ab -n 1000 -c 1000 http://localhost/etsp/
如何扩展此命令以测试登录过程?我的意思是,有没有办法为此提供用户名和密码?
任何提示都将受到高度赞赏。
答案 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对的形式。这个字段是可重复的。