负载测试工具是一个产生模拟用户连接到wowza服务器的有效方法。他可以被用来产生静态负载.flv或者直播流(一到多直播流)。
在服务端,负载测试工具复制单个.flv文件贯穿磁盘整列来模拟。如果测试直播流,这个功能是不需要的。
在客户端,工具模仿用户连接。你可以使用多台机器来生成负载。客户端工具将会每750毫秒生成一个新的连接,直到达到配置的连接数。
服务端安装和配置(以下这些步骤用来测试静态的.fvl流)
1、安装Wowza服务器
2、复制loadtool下的bin、conf、lib中的内容到Wowza安装目录下的对应目录中。
3、在服务端创建一个目录用来控制测试文件(例如创建一个test目录)
4、编辑conf/Application.xml并且修改Streams/StorageDir的值到刚才的测试目录(test目录)。
5、编辑conf/Tests.xml,定位到配置文件的“PerformanceMediaDuplicateTest”,并且修改这个StorageDir属性为测试目录(test目录)。下一步,修改streamName属性值为测试文件的名称(不包含.flv扩展名)。下一步,改变fileCount属性为你想要模仿的.flv文件数量。例如:你想测试400个不同的的flv文件同事播放,那么这个数字就是400.
6、下一步,我们开始在服务端测测试目录中运行快速工具在来复制测试文件,打开终端shell,进入wowza安装目录下的bin目录,执行下面的命令:
./performance.sh PerformanceMediaDuplicateTest (linux)
performance PerformanceMediaDuplicateTest (windows)
你应该可以在日志输出中看到测试文件在测试目录中被复制“fileCount”次。
7、如果你想在多个端口运行服务,你可以编辑VHost.xml并添加新的主机端口到HostPortList。
8、服务现在准备好了,在shell中运行./startup.sh来启动Wowza。
客户端配置
1、安装Wowza服务器
2、复制loadtool下的bin、conf、lib中的内容到Wowza安装目录下的对应目录中。
3、编辑conf/Tests.xml,定位到PerformanceRemoteClientTest,做以下属性的修改:
a、workerCount:客户端模仿的客户端连接数。
b、fileCount:客户端连接使用的文件数。如果你是测试直播流,那么设置该值为0.这样将高速测试工具不要附加文件数到流名称。
c、streamName:静态.flv测试,这里需要设置测试文件的名称(这个名称不要带.flv后缀。)测试直播流,这里设置推流的流名称。
d、connectionString:用来连接的应用实例名(发布点名称)。在每个客户端机器,必须在“application”创建一个目录。例如:在application目录下建立live发布点和vod发布点。(需要在服务端的application目录下建立这个目录/发布点)
e、doRandom:true,如果你想每个客户端连接随机选择一个文件基于fileCount设定的值进行连接,false如果你想连接均匀使用fileCount设定的值。如果fileCount为0,忽略该项。
f、IpAddress:服务端的ip地址。
g、Ports:你想让客户端连接使用端口列表,该端口列表用“|”分开。系统将会均匀的在这些指定端口建立连接。
直播流:对于直播流来说,主要的是workerCount,它是虚拟的连接数。对于直播来说只需要设置这个,非常简单。
4、开始测试,首先启动服务端,如果你测试直播流,你需要使用推直播流到服务端。现在每个客户端机器执行以下命令:
./performance.sh PerformanceRemoteClientTest (linux)
performance PerformanceRemoteClientTest (windows)
你应该可以看到客户端没3/4秒建立一个新的连接。
你应该可以看到服务端接受这些连接。性能系统监控每个模拟客户端连接,如果服务端发送视频和音频数据落在了客户端后面。当一个连接急需得到音频/视频数据,你将会在客户端命令窗口看到日志信息。日志开起来如下:
Status running:100 currBehind:0
“running”是正在运行的流的总数,“currBehind”是来自服务端的迟到的视频/音频数据流的总数。
注意,测试静态.flv流,大部分的Wowza性能被限制在了系统IO性能,我们建议磁盘的IO越快越好,建议使用RAID0或RAID10配置磁盘整列。如果使用Linux,请参考“性能调整-linux”章节。
注意,不要尝试由一个客户端建立太多的模拟连接。我发现200-400是一个客户端可以模拟连接数的最大值(xp,AMD X2 3800+,2GB RAM)。