标签: load-testing

Jmeter-模拟网站上150个登录用户并向其他具有登录状态的页面发出请求

我有一个场景,我必须在系统上模拟 150 个登录用户,他们将以每秒 8 个请求的速率向不同的页面发出请求,并具有登录状态。

我该怎么做 假设 1:考虑有两个 http 采样器,一个用于登录功能,另一个用于请求我想要的页面(选择产品页面)。但我的疑问是,这是在其他页面(选择产品页面)上模拟登录用户的正确方法吗?由于登录和选择产品页面请求位于不同的 HTTP 采样器中,因此我猜他们的访问权限将被不同对待,并且我最终将作为选择产品页面上的匿名用户而不是登录用户。请提出解决方案。

我不想每次请求选择产品页面时都登录,因为登录是一个大瓶颈,需要很多时间,我想首先登录所有用户,而不是使用登录用户来 ping 选择- 具有登录状态的产品页面。

如果我有多个 HTTP 采样器(用于登录、选择产品),则对服务器的请求数会增加,但我始终希望将请求数限制为 8。

请帮忙。

谢谢。

jmeter stress-testing load-testing performance-testing

1
推荐指数
1
解决办法
1478
查看次数

Jmeter - 生成负载测试摘要报告(多个用户)

我用于jmeter负载和性能测试。我能够仅使用一个用户作为负载来成功生成摘要报告。但是,如果我想为多个用户(例如 100 个用户)生成摘要报告,如何配置jmeterGUI 来生成摘要报告?

提前致谢 :)

jmeter load-testing performance-testing

1
推荐指数
1
解决办法
8081
查看次数

RequestVerificationToken不能在ASP MVC 5项目中通过JMeter来识别/或分配给变量

我目前需要对Web解决方案进行负载测试,这需要在主页(欢迎页面)中进行用户身份验证.

当我在FireFox中使用FireBug寻找与登录凭证一起传递的POST SignIn参数时,我发现Password,TenantName,UserName,__ RequestVerificationToken是传递成功登录的值的参数.

我需要使用JMETER来模拟这个过程.

因此,我已经使用JMETER进行了HTTP REQUEST(访问登录页面)导航到该页面,该页面成功运行.

在HTTP REQUEST(访问登录页面)中,我添加了一个正则表达式提取器来提取令牌,因为必须将令牌与登录一起传递.

  • 参考名称:REQUEST_VERIFICATION_TOKEN
  • Reg表达式:输入名称="__ RequestVerificationToken"type ="hidden"value ="([A-Za-z0-9 + =/ - \_] +?)"
  • 模板:1美元
  • 比赛号码:1
  • 默认值:(空白)

正则表达式提取器

我已经添加了一个单独的HTTP请求(登录到Web)以及如下所示的参数登录;

  • 密码:$ {密码}
  • TenantName:$ {TenantName}
  • 用户名:$ {用户名}
  • __RequestVerificationToken:$ {REQUEST_VERIFICATION_TOKEN}

但是当我运行它时,在查看结果树下,响应数据生成为"防伪令牌无法解密..."

当我检查查看结果树下的请求显示时,它显示为

POST数据:
密码= 123456&TenantName =租户&用户名= admin&__ RequestVerificationToken =%24%7BREQUEST_VERIFICATION_TOKEN%7D*

在请求中我意识到RequestVerificationToken的值没有被初始化.

我正在通过博客搜索解决方案两天,最终没有适当的帮助我倾向于在这里发布这个问题.

这是一个参考链接,在某种程度上是有用的,我使用过:http :
//build-failed.blogspot.com/2012/07/load-testing-aspnet-mvc-part-3-jmeter.html?showComment = 1417672985397#c6427302313332055578

有人可以帮我解决为什么RequestVerificationToken没有正确解压缩,或者初始化为变量?

(P:请你好好假设我是JMeter的初学者,说实话,当你提供宝贵的回复时)

regex asp.net-mvc jmeter token load-testing

1
推荐指数
1
解决办法
4185
查看次数

jmeter: NoHttpResponseException: 目标服务器未能响应

我在 nodejs 中有一个应用程序,我正在对数千名用户进行测试。对于 1000 个用户(当服务器部署在本地时),对于大多数测试用例,Jmeter 失败,提供以下内容:

org.apache.http.NoHttpResponseException: The target server failed to respond
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:95)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:61)
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)
    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)
    at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.receiveResponseHeader(MeasuringConnectionManager.java:201)
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:517)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:331)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1135)
    at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261)
    at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)

有时,我也会得到这个:

java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:196)
    at java.net.SocketInputStream.read(SocketInputStream.java:122)
    at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166)
    at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90)
    at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:281)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:92)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:61)
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)
    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
    at …
Run Code Online (Sandbox Code Playgroud)

performance jmeter load-testing node.js

1
推荐指数
1
解决办法
3543
查看次数

如何使用Scala脚本在Gatling中传递命令行输入?

我希望用户可以在从加特林执行时从命令行输入“ Count,repeatCount,testServerUrl和definitionId”。从命令行执行

> export JAVA_OPTS="-DuserCount=1 -DflowRepeatCount=1 -DdefinitionId=10220101 -DtestServerUrl='https://someurl.com'" 
> sudo bash gatling.sh
Run Code Online (Sandbox Code Playgroud)

但给出以下错误:

url null / api / workflow无法解析为URI:方案

基本上空值传递在那里。'definitionId'也一样。以下是代码。您可以尝试使用任何网址。您只需要检查通过命令行提供的值是否显示?

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._         

class TestCLI extends Simulation {           
    val userCount = Integer.getInteger("userCount", 1).toInt    
    val holdEachUserToWait = 2  
    val flowRepeatCount = Integer.getInteger("flowRepeatCount", 2).toInt    
    val definitionId  = java.lang.Long.getLong("definitionId", 0L)      
    val testServerUrl = System.getProperty("testServerUrl")

    val httpProtocol = http
            .baseURL(testServerUrl)
            .inferHtmlResources()
            .acceptHeader("""*/*""")
            .acceptEncodingHeader("""gzip, deflate""")
            .acceptLanguageHeader("""en-US,en;q=0.8""")
            .authorizationHeader(envAuthenticationHeaderFromPostman)
            .connection("""keep-alive""")
            .contentTypeHeader("""application/vnd.v7811+json""")
            .userAgentHeader("""Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36""")

    val headers_0 …
Run Code Online (Sandbox Code Playgroud)

performance scala load-testing performance-testing gatling

1
推荐指数
1
解决办法
3588
查看次数

从 k6 中的文件读取

是否有读取 csv 文件以获取测试数据的最佳实践方法?

假设我有一个如下所示的 CSV 文件:

username,password
joe,secret1
jane,secret2
bill,secret3
Run Code Online (Sandbox Code Playgroud)

...我想在 k6 脚本中使用这些用户名和密码。

javascript performance stress-testing load-testing k6

1
推荐指数
1
解决办法
1万
查看次数

Jmeter仪表板报告:如何在报告中显示每个线程组

我有一个带有多个线程组的 JMeter 测试计划。当我执行我的测试计划并生成仪表板报告时,它会显示所有采样器及其统计信息。我想分离报告以在同一报告中分别显示每个线程组的结果。

示例:线程组:线程组的步骤:统计

jmeter load-testing performance-testing

1
推荐指数
1
解决办法
2090
查看次数

如何在加特林中设置斜降时间?

我有一个 jmeter 脚本,可以在 20 分钟内增加 20 个用户(每分钟 1 个用户)并保持 30 分钟,然后每分钟减少 1 个用户。

我如何在加特林中实现这一目标?

我在加特林中尝试了以下设置,

SAAPIBase.scn_SA_Auth.inject(rampUsers(20) during (20 minutes)).protocols(httpConf)
).maxDuration(50 minutes)
Run Code Online (Sandbox Code Playgroud)

这会增加 20 名用户 20 分钟,并保持 30 分钟 20 名用户。但在那之后它突然下降到零。

我如何每分钟缓慢减少 1 个用户?

load-testing gatling scala-gatling

1
推荐指数
1
解决办法
2631
查看次数

如何测试托管在 Azure Appservice 上的 SignalR 应用程序(负载 + 功能组合)

如何测试托管在 Azure 应用服务上的 SignalR 应用程序(负载 + 功能组合) 我们正在构建一个 SignalR 应用程序,用于在活动和大会期间(实时)向观众进行问卷调查。我们预计有 1000-2000 个活跃并发用户的会话,这意味着大多数用户将同时连接。这会导致短时间内的重负载。我们想要模拟 x 个同时连接的唯一客户端。例如,1000 个用户在 30 秒内连接。语言和 signalR 包:该应用程序是使用 .NET Core 2.2 和 React 前端构建的。*SignalR 包 (.NET) Microsoft.AspNetCore.SignalR.Core (1.1.0) *SignalR 包 (npm) @aspnet/signalr (1.1.4) Azure 设置 我们正在使用 Azure SQL DB 的 Azure Appservice 上运行我们的应用程序。我们正在使用 Azure SignalR 服务,并将根据客户的需求进行扩展。

测试我们尝试使用Jmeter进行负载测试,并进行了GUI测试(使用Selenium进行小规模100-200个用户)。我们还运行了一个应用程序内测试,通过 JavaScript 循环创建集线器连接。但我们无法确保我们的应用程序能够在 1000-2000 个活动连接下运行。我的问题是如何测试这种类型的应用程序并确认它。我不可能是第一个构建这样的应用程序的人。

.net c# load-testing asp.net-core-signalr azure-signalr

1
推荐指数
1
解决办法
1万
查看次数

如何使用selenium执行Web应用程序的可伸缩性测试

我是否需要一些第三方工具(如load runner)来进行Web应用程序的可伸缩性测试?或者我可以使用selenium为我执行此操作.请指导.

谢谢

selenium scalability web-applications load-testing performance-testing

0
推荐指数
1
解决办法
2202
查看次数