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:アプリケーション/x-amfを追加します.その他のオプションは通常のテストと同じです.