nGrinder代理配置指南 - 玩转压测nGrinder

本章描述了nGrinder 3.3或更高版本的高级nGrinder代理配置。如果您个人使用nGrinder,您可能不需要阅读本指南。然而,如果您想将nGrinder作为PAAS运行,您应该阅读这一章。

从Controller下载代理

从nGrinder 3.3中,代理安装包没有再分发到sourceforge。但它可以从控制器下载。这使得代理配置发生了巨大的变化。控制器已经知道应该如何配置代理,它提供包含适当配置的代理包。例如,当管理员用户下载代理时,代理包包含通用配置。但是,如果一般用户下载包,代理包将包含 私有代理 配置。

如果您喜欢使用wget下载代理,也可以直接使用以下url。

控制器模式是否共享下载地址
单机共享http://{controller_host_name}/agent/download
私有http://{controller_host_name}/agent/download?owner={user_id}
集群通用http://{controller_host_name}/agent/download?region={region_name}
私有http://{controller_host_name}/agent/download/{region_name}/{user_id}

如果您在helloworld.com中安装了集群控制器,并且希望下载“hello”用户和“region1”区域的私有代理,那么可以使用以下URL下载。

wget http://helloworld.com/agent/download/region1/hello

如果您不喜欢合成URL,只需在浏览器中复制链接并粘贴它。

预设置配置在代理程序包中存储为./__agent.conf文件。当代理启动时,如果此文件不存在,这__agent.conf文件将被复制到${NGRINDER_AGENT_HOME}/agent.conf中。如果已经有${NGRINDER_AGENT_HOME}/agent.conf,代理将只显示警告消息并跳过复制操作。然后会执行旧的agent.conf

如果你想用__agent.conf覆盖原来的agent.conf,您应该运行-o选项的代理,该选项强制覆盖 agent.conf

代理启动/停止

nGrinder代理有几个命令行shell。您可以运行其中一个进程来调用或终止代理进程。

run_agent.sh # 或者 run_agent.bat 使用这个启动代理。
run_agent_bg.sh # 用这个在linux的后台启动代理。
stop_agent.sh # 或者 stop_agent.bat 使用此命令停止当前正在运行的代理。

代理家目录

当代理启动时,它将在用户的主目录创建 ${user.home}/.ngrinder_agent 目录。此目录包含默认配置文件和数据。下面是.ngrinder_agent文件夹的默认位置。

  • Window:C:\Users${user.home}.ngrinder_agent
  • Unix/Linux:${user.home}/.ngrinder_agent 但是如果您想为主目录分配另一个目录,在运行代理前,请设置环境变量${NGRINDER_AGENT_HOME} ,或者命令行运行时添加 --ngrinder-agent-home NGRINDER_AGENT_HOME 或者 -nah NGRINDER_AGENT_HOME
./run_agent.sh --ngrinder-agent-home /home/user/ngrinder_agent

在一台机器上运行多个代理程序

如果您想在一台机器上运行多个代理,您应该在以下条件下运行代理。

1、使用不同的安装包
2、使用不同的--agent-home,使用不同的--host-id

为了满足上面的约束,您可以像下面这样运行代理。

1、尽可能多地安装多个代理二进制文件

  • 第一: ~/apps/ngrinder_agent_1
  • 第二: ~/apps/ngrinder_agent_2

2、使用以下命令运行每个代理

  • 第一: cd ~/apps/ngrinder_agent-1; ./run_agent.sh --agent-home ~/.ngrinde-agent-1 --host-id first-agent
  • 第二 : cd ~/apps/ngrinder_agent-1; ./run_agent.sh --agent-home ~/.ngrinde-agent-2 --host-id second-agent

命令行选项

nGrinder代理的run_agent.sh命令,传入多个参数,可以覆盖现有配置${NGRINDER_AGENT_HOME}/agent.conf

名称示例覆盖属性描述
-o, --overwrite-config-o-如果你想使用__agent.conf覆盖现有的${NGRINDER_AGENT_HOME}/agent.conf配置。 当您希望现有代理连接到其他控制器时,这是非常有用的。
-ah / –agent-home-ah ~/.ngrinder-agent1ngrinder.agent.home代理家目录路径. 默认:~/.ngrinder_agent
-ch / --controller-host-ch 10.10.10.10agent.controller_host连接此代理的控制器主机名或IP。如果没有指定,则会使用${NGRINDER_AGENT_ HOME}/agent.confagent.controller_host的值。
-cp / --controller-port-cp 10023agent.controller_port控制器端口号。如果没有指定,则会使用${NGRINDER_AGENT_ HOME}/agent.confagent.controller_port 的值。
-r / --region-r region_owned_myidagent.region控制器的区域名称。如果是私人代理, 它应该是{region_name}owed{userid}。如果控制器不是集群模式,您可以忽略它{region_name}
-hi / --host-id-hi my_agent_1agent.host_id代理的host id。如果没有提供,则自动选择主机名。
-s / --silent-scommon.silent_mode使代理只输出非常重要的消息
-v / --version-v显示代理的版本号并退出。
-D-D全部覆盖动态属性。此选项可以覆盖agent.conf定义的所有配置
-h / --help-h帮助文档

配置

当代理启动时,它将复制控制器提供的配置到${NGRINDER_AGENT_HOME} 。如果已经有这样的配置,它会发出警告消息并跳过复制过程。 agent.conf包含代理运行是的基本配置。如果提供了命令行选项,则提供的选项将覆盖指定此文件的某些配置。

${NGRINDER_AGENT_HOME}/agent.conf

默认值兼容的键 (for ~nGrinder 3.2.X)描述
common.start_modeagentstart.mode运行代理的模式。这里可以使用agent和monitor。您根本不需要指定它。
common.verbosefalseverbose如果为true,则输出详细日志到${NGRINDER_AGENT_HOME}/log/agent.log文件。
common.silent_modefalse-设置为true, 日志只输出重要内容。
agent.controller_hostlocalhostagent.controller.ip, agent.console.ip, agent.controller_ip连接此代理的控制器主机名或IP。
agent.controller_port16001agent.controller.port, agent.console.port控制器端口号。
agent.region-控制器的区域名称。如果是私人代理,它应该是 {region_name}owed{userid}这样的。如果控制器不是集群模式,你可以忽略它{region_name}
agent.host_idlocalhost’s hostnameagent.hostid代理host id。如果没有提供,则自动选择主机名。
agent.server_modetrue在代理的进程中运行,如果你想删除 –server vm 选项,设置为false
agent.all_logsfalseagent.send.all.logs如果您想在测试完成时将所有代理的进程日志发送给控制器,则为true。默认情况下,它只发送一个进程的日志,以避免无用的重复信息。
agent.limit_xmxtrue如果你想让每个测试的进程都能使用1GB内存,设置为false。默认情况下,代理进程不能使用超过1GB的内存,因为更多的内存意味着更长的垃圾收集时间。
agent.java_opt-agent.javaopt提供附加的java vm选项,这些选项将在运行每个测试过程时使用。
agent.keep_logsfalse如果您想在测试完成后仍然保留测试日志,则设置为真。默认情况下,它会在每次测试结束时删除所有日志。

代理主文件夹结构

${NGRINDER_AGENT_HOME}中,有一些文件夹用于存储代理中使用的数据。以下是对它们的描述。

Folder NameDescription
log这存储代理日志。
file-store这里包含每个用户最后使用的脚本和资源。为了加速文件分发,即使在每次测试结束后都将文件作为缓存保存在这里,也不会删除这些文件。
native这包含用于收集代理系统使用情况的本机库。

更多内容请查看: 压力测试平台(nGrinder)入门到精通教程

转载于:https://my.oschina.net/u/1404949/blog/3039457

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值