我正在对注册系统进行负载测试。我目前有一个JMeter脚本从CSV文件(CSV数据集配置)中提取用户信息,我的线程组有以下步骤:
JMeter将这些步骤作为一个单独的线程运行,并且脚本可以运行。
问题是,与现实生活中用户的行为相比,我们的测试不太准确。就像我提到的那样,这是一个注册系统,我们的最终用户在实际开始锤击实际系统之前几分钟登录并进行身份验证(通过CAS)(当注册在午夜打开时 - 并且闸门打开)。
在现实生活中,我们的CAS身份验证系统从未出现过问题,因为我们没有数千名用户同时进行身份验证。当我们使用JMeter进行负载测试时,前两个步骤是通过CAS进行身份验证,这使CAS成为瓶颈,当我们在10秒的时间内为500个用户加载测试时,它开始失败。因此,我们的负载测试事务无法访问实际的注册系统,并且JMeter负载测试无效。
有没有办法更新JMeter脚本以首先记录所有用户(循环前两步并维护所有用户的CAS会话信息),然后执行其余步骤?
答案 0 :(得分:1)
斯特林,
请使用' Synchronizing Timer' JMeter的元素,它将等待所有用户登录,然后继续前进到下一步(注册系统)。
您可以使用以下结构创建脚本:
当测试完成' HTTP请求登录CAS'然后,它将等待所有用户到达该步骤,然后转到注册系统中的“执行HTTP请求”任务。步骤
如果您需要与其他JMeter元素相关的信息,那么您可以参考JMeter knowledge base在一个地方获取所有重要信息。
如果您有任何问题,请告诉我。