【问题标题】:load test specific pages负载测试特定页面
【发布时间】:2026-02-19 01:50:02
【问题描述】:
【问题讨论】:
标签:
apache2
load-testing
stress-testing
【解决方案1】:
您应该首先手动获取授权 cookie(例如使用curl),然后将其添加到标题中。我们在大多数负载测试任务中使用Yandex.Tank。这是您的案例的 load.ini 示例:
[phantom]
address = abc.xyz.com
rps_schedule = line (1, 120, 15) const (120, 10m)
header_http = 1.1
headers = [Host: abc.xyz.com]
[Connection: close]
[Cookie:<here goes auth cookie>]
uris=/index.html
我认为你也可以用 ab 或 jmeter 做类似的事情。
【解决方案2】:
让它成为任何其他工具,但我的问题是如何在不实际登录 Web 应用程序的情况下加载测试特定页面?
简短的回答是:不,你不能。如果可以,那么应用程序就会有很大的安全漏洞,对吧?
您需要登录,获取授权令牌/会话 ID(可能是 cookie)并在以后的请求中发送。
【解决方案3】:
如果您想使用大量并发虚拟客户端进行测试,每个客户端都进行登录和一系列操作,您可能需要尝试一些可以模拟真实用户的性能测试工具。在NetGend 测试平台上,以下示例脚本将通过填写 html 表单并执行一些操作来模拟用户。 (NetGend 使用 javascript 语法)
quickForm("http://www.example.com/login?", ["jsmith", "abc123"]);
//do action after login
//get a list of productIDS
prodId = randElement(productIDS);
action(http,"http://www.example.com/view?product=${prodId}");
NetGend 测试平台不仅使与网站的交互变得更容易,它还可以模拟大量客户端 - 例如,您可以使用包含 50,000 个用户/密码组合的 csv 文件来提供它。
如果您有时间,您可能想在许多测试场景中查看许多 blogs。