4

Tomcatサーバーの帯域幅を制限することは可能ですか?低速(ダイヤルアップ)インターネット接続でのサイト作業をシミュレートするために必要です。すべてのテストはローカルホストで行われます。

全てに感謝!

4

3 に答える 3

2

これは、Tomcatでバルブを作成することで簡単に実行できます。

TomcatからValveBaseクラスを拡張するクラスを作成します。

内部のコードは次のようになります。

/**
 * {@inheritDoc}
 */
@Override
public void invoke(final Request request, final Response response) 
                   throws IOException, ServletException {

    if (randomDelay != 0) {
        long delay = minDelay + randomizer.nextInt(randomDelay);
        try {
            if (LOGGER.isDebugEnabled()) {
                LOGGER.debug("sleeping for " + delay + " ms");
            }
            Thread.sleep(delay);
        } catch (InterruptedException e) {
            if (LOGGER.isDebugEnabled()) {
                LOGGER.debug("someone wake me up : " + e.getMessage());
            }
        }
    }

    // let's continue !
    getNext().invoke(request, response);
}

tomcat libディレクトリ(通常は{catalina.home} / lib)にドロップするjarファイルにコンパイルします。

最後に、server.xmlにバルブ宣言を追加します。

<Server ...>
  <Service name="Catalina">
   <Engine name="Catalina" defaultHost="localhost">
     (...)
     <Host name="localhost" ...>
       <Valve className="tools.tomcat.RandomDelayValve" />

こんにちは

于 2012-10-22T17:43:22.027 に答える
1

Tomcatでは不可能です。そのような機能を提供するHTTPプロキシを外部で探し、そのプロキシを介してテストをトンネリングする必要があります。最悪の場合、そのようなプロキシを自分で作成します。12行を超えるコードを使用しないでください。

于 2012-08-19T14:59:53.897 に答える
1

jmeterでこれを行うことができますこれを参照してください:-http: //jmeter.512774.n5.nabble.com/httpclient-socket-http-cps-td524481.html

これも参照してください:

于 2012-08-20T00:45:30.793 に答える