4

私は ERLANG と TSung に非常に慣れていません。この分野で働いたことはありませんが、基礎を知り、Web アプリケーションの分散負荷テストを行うことに非常に熱心です。完了までの道のりは半分ですが、大きなハードルがあり、先に進むことができません。以下のtsung.xmlファイルを読んで、どこに何が欠けているか教えてください。

**===> tsung.xml  (this file perfectly working without any errors)**

*<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM  "/usr/share/tsung/tsung-1.0.dtd">
<tsung loglevel = "debug" dumptraffic="true" version="1.0">
<clients>
        <client host="localhost" weight ="1" maxusers="40000" cpu = "1" >
        <ip value = '127.000.000.111'/>
</client>
</clients>
<servers>
        <server host="127.000.000.112" port="80" type="tcp"></server>
</servers>
<load duration="1" unit="minute">
        <arrivalphase phase="1" duration="1" unit="minute">
        <users arrivalrate="10" unit="second"></users>
    </arrivalphase>
</load>

<sessions>
<session name="mySession" probability="100" type="ts_http">
<transaction name="trx">
        <request>
            <dyn_variable name="myId" re="&lt;myId&gt;(\.*)\&lt;/myId&gt;"/> <-- Trying with RegExp option, not getting the value myId
            <!--dyn_variable name="myId" xpath="//response/myId" /-->  <-- Trying with xpath option, not getting the value myId
            <!--dyn_variable name="myId" jsonpath="response.myId" /-->  <-- Trying with jsonpath option, not getting the value myId
            <http  url='http://127.000.000.112/Create_Rec' method='POST' version='1.1' content_type='text/xml'/>
        </request>
        <request subst="true">
        <http  url='http://999.000.000.999/Get_Rec/myId=%%_myId%%' method='GET' version='1.1' content_type='application/xml'/>
</request>
</transaction>
</session>
</sessions>
</tsung>*

この URL (Web サービス呼び出し) " http://_127.000.000.112/Create_Rec " を Web ブラウザーで実行すると、サーバーから次のような応答が返されます (バックグラウンドでデータベースにレコードが作成され、新しい ID (つまり myId) を生成します。tsung.xml の上で実行すると、最初の要求は期待どおりに完全に機能します。

===> レスポンス (ブラウザのレスポンス)

<response id="SomeWebService">
    <status>
        <statusCode>1</statusCode>
        <statusMsg>SomeMessage</statusMsg>
        <statusTime>2013-06-20 02:52:25</statusTime>
    </status>
    <myId>298346728934734987</myId>
</response>

ここで見ているのは、最初のリクエストから myId を取得し、2 番目のリクエスト myId=%%_myId%% に渡す必要がありますが、決して機能せず、myId は常に空の文字列です。私は2日以来、dyn_variableを超えています。手がかりも適切な例/ドキュメントもありません。私が欠けているものを教えてください。

4

1 に答える 1