This load test tool is a tool for sharing online games and can be used in http://blog.csdn.net/win_lin/article/details/11835011 or https://github.com/winlinvip/ St-load found a very detailed introduction, including how to install, how to use.
Server load Test Tool (St-load):
- Analog huge concurrency: 2G of memory can open 300k connections. The States-threads-based process.
- Supports HLS parsing and testing, downloading TS slices after waiting for a slice length, impersonating the client. Support HLS on-demand and live streaming.
- Supports HTTP load testing, and all concurrent downloads of an HTTP file. 72Gbps can be tested for 80Gbps bandwidth.
- Supports rtmp stream testing, a process that supports 5k concurrency. The chunk stream is parsed directly into Messgae using the NGINX-RTMP protocol.
Streaming media related supplements
Rtmp://10.169.0.66/rtmp/live such a format, we call it a rtmp stream. Common format is rtmp://ip_addr/application_name/stream_name (ID)
How to use
Download the tool: Git clone https://github.com/winlinvip/st-load.git
Compile:
- CD St-load
- ./configure
- Make
Use:./objs/sb_rtmp_load-c 1-r Rtmp://127.0.0.1:1935/live/livestream
more ways to use
Usage:./sb_rtmp_publish <Options> <-u url>
./sb_rtmp_publish Base on St (State-threads), support huge concurrency.
Options:
-C clients,--clients clients The concurrency client to start to request. Defaut:1-r url,--url URL the load test URL for each client to download/process. -T REPEAT,--repeat REPEAT The REPEAT is the number for each client to download the URL. Ie. Rtmp://127.0.0.1:1935/live/livestream_{i} default:0.0 means infinity. -S startup,--start startup The start is the Ramdom sleep if thread STARTUP in seconds. defaut:5.00. 0 means no delay. -D delay,--delay delay the delay is the Ramdom sleep when success in seconds. default:1.00. 0 means no delay. -1 means to the use of HLS extinf duration (HLS only). -e error,--error error The error is the "The Sleep when" error in seconds. defaut:3.00. 0 means no delay. -M SUMMARY,--summary SUMMARY The SUMMARY is the sleep when report in SEConds. Etasks is Error_tasks, Statks are Sub_tasks, Estatks is error_sub_tasks. Duration is the running time in seconds, and Tduration is the avarage duation of tasks. Nread/nwrite in Mbps, duration/tduration in seconds. defaut:30.00. 0 means no delay. -V,--version Print the version and exit. -H,--help Print this help message and exit.
Examples:1. Start a client
./sb_rtmp_publish-i doc/source.200kbps.768x320.flv-c 1-r Rtmp://127.0.0.1:1935/live/livestream
2. Start clients
./sb_rtmp_publish-i doc/source.200kbps.768x320.flv-c 1000-r Rtmp://127.0.0.1:1935/live/livestream_{i}
3. Start 10000 Clients
./sb_rtmp_publish-i doc/source.200kbps.768x320.flv-c 10000-r Rtmp://127.0.0.1:1935/live/livestream_{i}
4. Start 100000 clients
./sb_rtmp_publish-i doc/source.200kbps.768x320.flv-c 100000-r Rtmp://127.0.0.1:1935/live/livestream_{i}
HTTP payload:./objs/sb_http_load
HLS load:./objs/sb_hls_load
RTMP watch load:./objs/sb_rtmp_load
RTMP Create live Stream payload:./objs/sb_rtmp_publish
If you do not know what parameters you need to use./objs/sb_http_load-help view
Report Analysis
[2015-06-01 17:00:06.981] [0] [Trace] Params url=rtmp://10.169.0.66/rtmp/live, Threads=1, start=5.00, delay=1.00, error=3.00, report=30.00, count=0
[2015-06-01 17:00:06.981] [0] [Trace] Create thread for task #1 success
[2015-06-01 17:00:06.981] [Report] [4391] threads:0 alive:0 duration:0 tduration:0 nread:0.00 nwrite:0.00 tasks:0 etasks:0 stasks:0 estasks:0
[2015-06-01 17:00:06.981] [1] [Trace] start random sleep 4338ms
[2015-06-01 17:00:11.324] [1] [Trace] start to process RTMP Play task #1, Schema=rtmp, host=10.169.0.66, port=1935, Tcurl=rtmp://10.169.0.66:1935/rtmp, Stream=live, startup=5.00, delay=1.00, error=3.00, count=0
[2015-06-01 17:00:36.981] [Report] [4391] threads:1 alive:1 duration:30 tduration:0 nread:2.62 nwrite:0.00 tasks:1 etasks:0 stasks:0 estasks:0
[2015-06-01 17:01:06.981] [Report] [4391] threads:1 alive:1 duration:60 tduration:0 nread:2.88 nwrite:0.00 tasks:1 etasks:0 stasks:0 estasks:0
[2015-06-01 17:01:36.981] [Report] [4391] threads:1 alive:1 duration:90 tduration:0 nread:2.96 nwrite:0.00 tasks:1 etasks:0 stasks:0 estasks:0
[2015-06-01 17:02:06.981] [Report] [4391] threads:1 alive:1 duration:120 tduration:0 nread:3.01 nwrite:0.00 tasks:1 etasks:0 stasks:0 estasks:0
Watch live and create live broadcast only need to pay attention to: Nread and Nwrite can. Other content for further investigation
HTTP/HLS/RTMP Super Load Test Tool (RPM)