gpt4 book ai didi

java - JSON Extractor - 提取数据 - 无法应用于原始数据

转载 作者:行者123 更新时间:2023-11-30 05:27:15 24 4
gpt4 key购买 nike

我正在使用 JMeter 5.1.1 并尝试进行负载测试。我添加了 JSON Extractor,用于从 GET 请求中提取用户上下文,如下所示,

创建的变量名称:

schoolId; 
teacherAccountId;
teacherProfileId;
teacherUserName;
schoolLogoId;

JSON 路径表达式:

$.[?(@.type == 'SCHOOL')].id; 
$.[?(@.type == 'SCHOOL')].accountId;
$.[?(@.type == 'SCHOOL')].profileId;
$.[?(@.type == 'SCHOOL')].username;
$.[?(@.type == 'SCHOOL')].icon.id;

当我执行 800 个用户线程时,客户端出现以下错误。

它将为所有分配的变量运行循环(teacherProfileId; TeacherUserName; schoolLogoId;)

然后在服务器端给出错误 - java.lang.OutOfMemoryError: Java heap space Dumping heap to java_pid23134.hprof ...

我能为此做什么? JSON 提取器配置有什么问题吗?

注意 - 我已经将 JVM 堆大小增加到 4G

 Error processing JSON content in JSON Extractor -Extract user data from user context, message: Filter: [?]['teacherAccountId'] can not be applied to primitives. Current context is: org.apache.http.conn.ConnectTimeoutException: connect timed out
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$JMeterDefaultHttpClientConnectionOperator.connect(HTTPHC4Impl.java:336)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:374)

....

最佳答案

您没有得到任何有效的 JSON 作为响应并查看

connect timed out at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect`

您的应用程序似乎过载,因此您没有收到正确的响应。

与JMeter脚本无关,需要报性能错误。如果时间允许,您可以增强您的报告以包含:

  1. 可以毫无问题地访问应用的最大用户数(考虑使用合理的 ramp-up period逐步吸引这 800 名用户)
  2. Saturation point - 即此阶段的最大吞吐量和用户数量是多少(您可以使用 i.e. Hits/s vs Active Threads listener 进行检查
  3. 应用程序在 CPU、内存等方面是否有足够的运行空间,因为错误可能是由于缺乏必要资源而引起的。您可以使用 JMeter PerfMon Plugin 检查它
  4. 检查您的应用日志中是否有任何可疑条目
  5. 负载降低时应用程序是否恢复

关于java - JSON Extractor - 提取数据 - 无法应用于原始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58284633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com