在Load Impact中销毁会话

时间:2016-06-03 07:47:55

标签: azure lua

我在Load Impact中创建了一个用户场景,以模拟我们网络商店中的几百个用户。

问题是我似乎无法模拟Azure队列中的用户。 队列只增加了+1个用户,而不是我想要的数百个用户:)

我创建了一个随机关联ID,但似乎会话仍在那里。

有没有办法销毁会话,所以当脚本循环时会创建一个新会话?

我找到了destroy:session的LUA参考,但它对我不起作用。

function rnd()
  return math.random(0000, 9999)
end

   {"POST", "http://STORE.////", 
      headers={["Content-Type"]="application/json;charset=UTF-8"}, 
      data="{\"ChoosenPhoneModelId\":0,\"PricePlanId\":\"phone\",\"CorrelationId\":\"e97bdaf6-ed61-4fb3-".. rnd().."-d3bb09789feb\",\"ChoosenPhoneColor\":{\"Color\":1,\"Code\":\"#d0d0d4\",\"Name\":\"Silver\",\"DeliveryTime\":\"1-2 veckor\",\"$$hashKey\":\"005\"},\"ChoosenAmortization\":{\"AmortizationLength\":24,\"Price\":312,\"$$hashKey\":\"00H\"},\"ChoosenPriceplan\":{\"IsPostpaid\":true,\"IsStudent\":false,\"IsSenior\":false,\"Title\":\"Fast \",\"Description\":\"Hello.\",\"MonthlyAmount\":149,\"AvailiableDataPackages\":null,\"SubscriptionBinding\":1,\"$$hashKey\":\"00M\"},\"ChoosenDataPackage\":{\"Description\":\"20 

GB\",\"PricePerMountInKr\":149,\"DataAmountInGb\":20,\"$$hashKey\":\"00U\"}}", 
          auto_decompress=true}
})

有关如何做的任何提示。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

相关ID不是随机数。它由您的服务器在cookie中设置。获取并使用如下:

local response = http.request_batch({
    {"GET", "http://store.///step1", auto_decompress=true},
})

-- extract correlation Id
local strCorrelationId = response[1].cookies['corrIdCookie']


    {"POST", "http://STORE.////", 
      headers={["Content-Type"]="application/json;charset=UTF-8"}, 
      data="{\"ChoosenPhoneModelId\":0,\"PricePlanId\":\"phone\",\"CorrelationId\":\"".. strCorrelationId .. "",\"ChoosenPhoneColor\":{\"Color\":1,\"Code\":\"#d0d0d4\",\"Name\":\"Silver\",\"DeliveryTime\":\"1-2 veckor\",\"$$hashKey\":\"005\"},\"ChoosenAmortization\":{\"AmortizationLength\":24,\"Price\":312,\"$$hashKey\":\"00H\"},\"ChoosenPriceplan\":{\"IsPostpaid\":true,\"IsStudent\":false,\"IsSenior\":false,\"Title\":\"Fast \",\"Description\":\"Hello.\",\"MonthlyAmount\":149,\"AvailiableDataPackages\":null,\"SubscriptionBinding\":1,\"$$hashKey\":\"00M\"},\"ChoosenDataPackage\":{\"Description\":\"20 

GB\",\"PricePerMountInKr\":149,\"DataAmountInGb\":20,\"$$hashKey\":\"00U\"}}", 
          auto_decompress=true}
})

这就是让您的用户与众不同的原因。如果将CorrelationId设置为任何随机数,则服务器将无法接受队列中的会话。

一旦它是唯一且正确的,您的服务器将正确接受POST。