用jmeter模拟amf请求进行压力测试

阅读更多

1.获取amf二进制包:
在本地建立proxy,端口为8888
将firefox代理设置为localhost:8888
这样所有firefox发出的请求都会经过下面写好的ruby脚本
拦截amf请求数据包,并写入文件

#!/usr/bin/env ruby
require 'rubygems'
require 'webrick/httpproxy'

$n= 1

callback_proc = Proc.new do |req,res|
  unless req.raw_header.to_s.match(/x-amf/)
    puts req.request_line,req.raw_header
  else
    amf = req.body
    File.open("./#{$n}.amf","wb"){|f| f.write amf}
    res['Content-Type'] = "application/x-amf"
    $n = $n + 1
  end
  puts "------------------"
end

server = WEBrick::HTTPProxyServer.new(:Port=> 8888,:RequestCallback => callback_proc)

trap("INT"){ server.shutdown }

server.start

2.使用jmeter进行压力测试
设置好与请求一起发送的文件(刚才通过webrick proxy获得的),并添加mine-type:application/x-amf,其他选项与普通测试一样。

你可能感兴趣的:(Ruby,Firefox,rubygems,脚本,F#)