运行负载测试时会出现不可避免的问题,任何HTTP请求可能会超时或服务器可能返回自定义错误页面.我有一个可爱的jMeter脚本运行而不会发生任何错误,这是在低使用率下发生的事情.
如何修改此脚本,以便在发生错误时脚本重新运行导致错误的请求,直到它没有出现错误为止?例如,我有一个登录请求,如果失败,我不想继续,我想继续尝试,直到登录工作.我也不想再次启动脚本,因为如果页面在登录后失败,我不想再次登录.
我已经看过线程组中的"继续下一个循环",但是我无法找到它实际上做了什么,它是否开始测试?它是否跳转到下一个循环逻辑控制器?我是否必须用循环包围所有请求?
谢谢保罗
我需要使用rails使用的内部机制将字符串转换为适合创建具有嵌套属性的对象构建的参数哈希.我找不到请求rails的生命周期中的哪个实际上准备了params [] hash.
字符串看起来像:
"foo[butter]=fat&foo[cheese]=cheddar&bar[fork]=pointy&bar[knife]=sharp"
Run Code Online (Sandbox Code Playgroud)
只是为了给出一些上下文,上面的字符串是通过对我的app的API调用从加密的请求中提取的.这就是为什么它一旦解密就会以这种形式出现
def create
decrypted = decrypt(params[:q])
Object.create(magically_convert_to_param_hash(decrypted))
end
Run Code Online (Sandbox Code Playgroud)
我意识到我可以手动解析这个字符串并将其转换为所需的哈希值,但考虑到代码存在于已经完成它的框架中,它似乎有点潮湿.
我一直试图让它在IE8中工作,虽然它没有抱怨这些,但它完全忽略了它们.
if( typeof(Storage) != "undefined"){
Storage.prototype.setObject = function(key, value) {
this.setItem(key, escape(JSON.stringify(value)));
}
Storage.prototype.getObject = function(key) {
return JSON.parse(unescape(this.getItem(key)));
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试:
localStorage.setObject("key", <Some object>);
Run Code Online (Sandbox Code Playgroud)
我得到一个"对象不支持此方法"错误引发错误,甚至没有调用该函数.当然这个代码在Chrome和Firefox中工作得很好,甚至可能在我1980年的卡西欧手表上也能正常工作.
任何帮助都会很棒.
当我得到我的对象时,偶然和完全不相关的IE8我必须JSON.parse它两次得到对象...
谢谢保罗
如果这些服务器上的负载超过某个级别,我想停止向后端服务器提供请求.已经在网站上冲浪的任何人仍然会被路由,但新连接将被发送到静态服务器忙页面,直到负载降至预定水平以下.
我可以使用cookie来让当前客户进入,但我找不到有关如何根据自定义负载指标进行路由的信息.
谁能指出我正确的方向?