负载测试和Tsung - 它是否适用于ec2?

时间:2012-05-28 04:24:56

标签: load-testing tsung

我试图让tsung在ec2上工作,但无济于事。这是人们倾向于使用jmeter的原因吗? Tsung是一个主持人,但在ec2上根本没有。

1)我使用相同的区域,因此在ec2上使用私人dns和ip。

2)我创建了一个master并使用以下命令在master上创建一个ssh密钥。

cd /home/ubuntu/.ssh;
   ssh-keygen -f id_rsa -t rsa -N ''

3)然后,在奴隶的eash上,我将生成的密钥放入授权密钥。

/home/ubuntu/.ssh/authorized_keys

4)在奴隶上,我的/ etc / hosts文件按照文档显示。

xxx.xxx.xxx.xxx ip-10-xxx-xxx-xxx

4)在主人身上我跑sudo tsung开始。我可以闯入奴隶 没有密码。

在日志文件中我收到此错误:

   =INFO REPORT==== 28-May-2012::03:51:12 ===
       ts_config_server:(0:<0.76.0>) Can't start newbeam on host
'ip-xxx-xxx-xxx (reason: timeout) ! Aborting!]]

5)这些文件提供了解决的提示,但这些提示是否定的 因为我仍然收到这个错误,所以意味着清楚。但是我有 完成了清单上所需的一切。 a)ssh没有密码i.el ssh hostname erl b)删除了app盔甲 c)我的主机看起来像这个xxx.xxx.xxx ip-xxx-xxx-xxx

6)下面是我的tsung.xml文件。

<?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="ip-10-xxx-xxx-xxx" cpu="1"><ip
value="10.yyy.yyy.yyy"></ip></client>
   </clients>
   <servers>
           <server host="xxx.xxx.xxx.xxx" port="80" type="tcp"></server>
   </servers>

    <load>
      <arrivalphase phase="1" duration="1" unit="minute">
        <users interarrival="100" unit="second"></users>
      </arrivalphase>
    </load>


    <options>
      <option type="ts_http" name="user_agent">
       <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>
     </options>

     <sessions>
     <session name="http-example" probability="100" type="ts_http">
       <!-- full url with server name, this overrides the "server"
config value -->
       <request> <http url="/pixel" method="GET"
version="1.1"></http> </request>
       <thinktime value="1" random="true"></thinktime>
     </session>
    </sessions>
   </tsung>

2 个答案:

答案 0 :(得分:4)

在主机上执行以下操作:

cd /home/ubuntu/.ssh
ssh-keygen -f id_rsa -t rsa -N ''
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa 

for each slave:
    ssh-keyscan EC2_PUBLIC_DNS_NAME | tee -a ~/.ssh/known_hosts

或使用私人DNS名称

#        You can add this in .ssh/config on the master node:
#        >
#        > Host *
#        >        StrictHostKeyChecking no

答案 1 :(得分:0)

在不同的AWS区域使用master&agent时遇到了这个问题。即使我正在使用在主服务器和代理程序的主机文件中配置的假主机名,他们仍在内部AWS DNS上进行解析。

我只需要更改主主机名即可解决此问题(加上主机文件conf)。

在设置类似于主机名这样的AWS时也要小心:在我的ubuntu 18案例中,将ip-X-X-X-X设置为内部或外部IP会在系统日志中生成DNS安全警报,并立即杀死tsung进程。