八、分布式Web server压力测试设置
作为一个纯 java 的gui应用,jmeter 对于cpu和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起java内存溢 出的错误。不过,jmeter 也可以像 loadrunner 一样通过使用多台机器运行所谓的 agent 来分担 load generator 自身的压力,并借此来获取更大的并发用户数。根据 jmeter官方文档的署名,你需要自己完成这个配置,不过不用担心,这将非常简单 ^_^
1. 在所有期望运行 jmeter 作为 load generator 的机器上安装 jmeter,并确定其中一台机器作为 controller,其他的机器作为 agent。然后运行所有 agent 机器上的jmeter-server.bat文件——假定我们使用两台机器 192.168.0.1 和 192.168.0.2 作为 agent;
2. 在controller 机器的 jmeter 安装目录下找到 bin 目录,再找到 jmeter.properties 这个文件,使用记事本或者其他文字编辑工具打开它;
3. 在打开的文件中查找“remote_hosts=”这个字符串,你可以找到这样一行“remote_hosts=127.0.0.1”。其中的 127.0..0.1 表示运行 jmeter agent 的机器,这里需要修改为“remote_hosts=192.168.0.1:1099,192.168.0.2:1099”——其中的 1099为 jmeter 的 controller 和 agent 之间进行通讯的默认 rmi 端口号;
4. 保存文件,并重新启动 controller 机器上的 jmeter.bat,并进入 run -> remote start 菜单项。
在具体实施过程中,需 要注意设置好PATH系统环境变量,否则会出现提示找不到rmiregistry.exe,这是RMI注册程序,在JDK的bin目录下。还要注意保证 1099端口没有被禁用。
可以参见:http://www.informit.com/guides/content.asp?g=java&seqNum=274&rl=1
九、JDBC Connection Configuration
在测试DB server性能的时候,正确设置数据库URL和JDBC驱动类,一般如下设置:
Database URL : jdbc:sqlserver://192.166.6.37:1433;databaseName=jia_online;
JDBC Drive class:com.microsoft.sqlserver.jdbc.SQLServerDriver
Username和 password是打开数据库的用户名和密码。
注意:请正确安装SQLJDBC驱动。