0

我有一项由 resteasy 框架编写的 REST 服务部署到 Jetty Web 容器。

Tsung计算的TPS性能点如下图

在此处输入图像描述

我调试了一些参数,但不起作用。请注意,该代码已由其他团队验证。


  • Jetty的线程数
  • JVM的GC
  • 操作系统的TCP内核参数

我不知道为什么。谁可以提供一些调试参数或问题引发的结果。

提前谢谢了

以下是Tsung的配置


<?xml version="1.0"?><tsung loglevel="notice" version="1.5.0">
  <clients>
    <client host="tc-1" maxusers="50000" weight="1"/>
    <client host="tc-3" maxusers="50000" weight="1"/>
    <client host="tc-4" maxusers="50000" weight="1"/>
  </clients>
  <servers>
    <server host="service-ip" port="80" type="tcp"/>
  </servers>
  <monitoring>
    <monitor host="tc-1" type="erlang"/>
    <monitor host="tc-3" type="erlang"/>
    <monitor host="tc-4" type="erlang"/>
  </monitoring>
  <load duration="500" unit="second">
    <arrivalphase duration="500" phase="1" unit="second">
        <users arrivalrate="700" unit="second"/>
    </arrivalphase>
  </load>
  <options>
    <option name="user_agent" type="ts_http">
      <user_agent probability="80">
        Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Galeon/1.3.21
      </user_agent>
      <user_agent probability="20">
        Mozilla/5.0 (Windows; U; Windows NT 5.2; fr-FR; rv:1.7.8) Gecko/20050511 Firefox/1.0.4
      </user_agent>
    </option>
    <option max="60000" min="1025" name="ports_range"/>
    <option name="seed" value="58989679"/>
  </options>
  <sessions>
    <session name="mytest" probability="100" type="ts_http">
        <request subst="true">
          <http content_type="application/json" method="GET" url="/mydata" version="1.1">
            <www_authenticate passwd="pwd" userid="username"/>
          </http>
        </request>
    </session>
  </sessions>
</tsung>
4

1 回答 1

0

您应该首先降低日志级别(例如警告)。

您可以提出多少请求/秒?我可以想象你已经超载了你的 tsung 控制器节点。您是否查看过您的 tsung 集群的资源利用率?

您还应该尝试在每个会话中发出多个请求,因为创建会话/用户需要资源并且不是免费的。例如,每个会话发出 10 个请求并从 1/10 开始,用户应该产生相同的请求率,但也应该减少启动新会话的额外成本。

于 2014-07-22T12:24:05.527 回答