Rtmp Load Testing Tool

It is one of the best load testing tools that allows for easy scriptless test scenario creation using the so-called Recorder, yet still lets you make advanced edits of the test. It also excels in test reporting and makes use of functions such as automatic test criteria evaluation, test runs comparison and trend analysis. This article will provide a summary of the top API testing tools in 2020 covering both open-source and commercial solutions that testing teams can select to suit their needs. TL;DR: Katalon Studio. Top Load Testing Tools: 50 Useful Tools for Load Testing Websites, Apps, and More Alexandra Altvater April 7, 2017 Developer Tips, Tricks & Resources As every developer knows, what works in the ideal scenario (a.k.a. Your production environment) won’t necessarily work in the real world.

If you’re having problems with your computer and it isn’t behaving correctly in certain situations, then it could be a cause for concern. One of these situations could be when you are performing resource intensive tasks and the system becomes unstable or crashes while being put under stress. This could be a problem such as the CPU overheating and shutting itself down, or even the graphics card running into similar trouble. Or maybe the power supply simply cannot cope anymore with all hardware components running at full intensity…

Whether you’re someone who wants to test their PC components because they suspect a possible fault, or have bought / built your own PC and want to make sure it runs stably and reliably at maximum load, you need a program to be able to put the system under the desired levels of stress for periods of time to monitor the situation. Here are 10 tools (9 of them free) to do just that and put your system under huge amounts of stress to check for faults or problems.

1. HeavyLoad

HeavyLoad is a utility that aims to stress the main component areas of a PC, namely processor, memory, hard drive and graphics. It can also run these tests individually or altogether which is obviously the time maximum stress will be placed of the system hardware and also the power supply. The Disk space and Free memory tests are not really there to put undue stress on those components, but rather continually writes a large file to the drive and allocates / deallocates memory to the system simulating heavy load when all major components are utilized.

There is an option though to add more stress to the hard drive by using Jam software’s other popular included tool Treesize Free to simulate more heavy disc access. HeavyLoad is available as portable and installer versions and is a very useful overall system stability tester to keep in the USB toolkit. Works on Windows XP to Windows 8 32-bit and 64-bit.

Download HeavyLoad

2. FurMark

Furmark is a stability and stress testing tool designed especially for graphics cards and runs a very intensive “Fur” rendering algorithm which is very good at pushing the GPU to its absolute limits. There are a few settings that can be changed such as resolution, full screen mode and anti aliasing, and a few presets are available such as running in the HD resolutions of 720 / 1080, or running a burn-in test for 15 minutes. The benchmark’s default run time and an alarm for the maximum allowable temperature for the graphics card is found via the Settings window.

Benchmark scores can be compared or viewed online. FurMark is compatible with Windows XP and above.

Download FurMark

3. StressMyPC

This is a simple, tiny and portable utility of around 20KB that can run a stability test on your single, multi core or multi threaded processor. In addition it can also perform a couple of other tests such as a simple GPU graphics test and also one for the hard drive. The “Paint-Stress” GPU test is enabled by default and the “HD-test” and a more aggressive CPU test which will push your processor towards 100% (the standard test used about 60% of a dual core CPU during testing) can be enabled by the buttons at the top of the window. StressMyPC works on all versions of Windows 2000 and above, including 64-bit.

Download StressMyPC

4. System Stability Tester

System Stability Tester works by simply using the well known and famous method of telling the computer to calculate the value of Pi up to 128 million digits. This will completely consume your processor for as long as the test runs and can also be used as a basic benchmarking tool to see how long it takes your CPU to calculate the specified number of digits. The range can be between 128 thousand up to 128 million and can be run continuously up to 50 times using up to 32 threads. There are 2 methods to choose from, Borwein and Gauss-Legendre which is also used by the classic SuperPi tool.

Works on Windows XP and above, portable and installer versions are available.

Download System Stability Tester

5. IntelBurnTest

Despite the name, IntelBurnTest actually works fine for testing on AMD processors as well, and is called as such because it makes use of the Intel Linpack libraries which Intel themselves use to stress test CPU’s. Usage is easy and all you have to do is set the number of times to run the test, the number of threads to use and the test stress level. This can be Standard, High, Very High or Maximum and if your available RAM is less than what the test requires, choose Custom and set the amount of memory to use accordingly.

The program is portable and runs on Windows XP and above.

Download IntelBurnTest

12Next › View All

You might also like:

11 Tools to Find out Information About Your Computer’s Hardware5 Free Tools to Check and Test USB Flash Drives6 Free Programs to Check Your Video Card Memory For Errors8 Free Tools to Test Read and Write Speed of USB Flash Drives2 Ways to Test and Determine If Your BitTorrent Speed is Limited or Throttled

Todd3 years ago

A nice collection of stress tests, but I am currently searching for DOS-based software. Will keep looking, but perhaps you could add something in this vein the next time you update the article?

Reply

BurninTest software is good for testing, but unfortunately it’s not free

Reply
jayaram4 years ago

any commandline tools, i need them in my automation

Reply

3d mark is good for higher end graphics cards

Reply
Miler5 years ago

Aida64 is also good program. It is almost head-to-head with BurnIn Test made by PassMark

Reply

I generally run Orthos and MemTest. For the hard disk, when I get a new one, I copy tons of files big and small to it and then try using these files. Last drive showed problems immediately after this.

I also always do a Nero Recode and x264 encodes since these are heavy CPU programs.

Reply
Merlin Magii12 years ago

Useful tool and have noted contributors very helpful warnings.

Reply

Looks like a decent benchmarking software. Thanks Ray!

Reply
John12 years ago

My suggestion regarding this type of program:
Run it well BEFORE your warranty expires. Make sure you didn’t get a system with faulty components. Don’t experiment on an older system (with gigs of files & programs at risk). If something is “marginal”, these programs WILL find them – often destructively!

Reply

Second this – it is actually possible for stress testing software to fry your PC. E.g. normal use of a video card will not come close to the temperature and power consumption of running a 100% stress test like FurMark, and this could cause an otherwise working component to fail. It does mean the component is running out of spec, so it could even be recommended to run this just before your warranty expires, but not after.

Reply
Brian1 year ago

An example of how testing software can be destructive if it does not change or write anything new or over existing files, code or registry? If a tool writes its own fix without showing you changes before they happen then don’t use it.

Reply

Thanks again for a useful tool Raymond

Reply
Ammar12 years ago

Thank you Raymond.

Nice tool.

Reply

A very good and large hardware store here uses Everest for stability testing

Reply
DT12 years ago

Thanks for the info Raymond!

Reply

Leave a Reply

In this post we're going to demonstrate how to test Apple's HTTP Live Streaming (HLS) using Ruby JMeter.

RTMP

Real Time Messaging Protocol (RTMP) was initially a proprietary protocol for streaming audio, video and data over the Internet, between a Flash player and a server.

First let's take a look at what RTMP looks like in the browser. Not much to see here! We have an embedded Flash player and in terms of HTTP traffic, not much going on. The reason is because the Flash player itself is communicating via an alternate TCP port to the server which is streaming the content.

Let's take another look with a packet sniffer. Now we can see the packet headers and what looks like encoded binary content being streamed to the client. This is going to be difficult to simulate using tools like JMeter or any other generic load testing tool that typically favours HTTP.

The biggest drawback is that RTMP only works in Flash and not in HTML5. New HTTP streaming protocols, like Apple's HTTP Live Streaming (HLS), have wider device support (e.g. iOS) and will likely replace RTMP over the coming years.

HLS

HLS works by breaking the overall stream into a sequence of small HTTP-based file downloads, each download loading one short chunk of an overall potentially unbounded transport stream. We can see the following in the browser.

Notice the request made to playlist.m3u8. This effectively serves as a pointer to the other chunks that will need to be downloaded as part of a stream. We can see this as follows:

bash
curl http://wowzaec2demo.streamlock.net/vod/_definst_/smil:streaming_tutorial/streaming_tutorial.smil/playlist.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3128000,CODECS='avc1.77.31,mp4a.40.2',RESOLUTION=1280x720
chunklist_w1057647775_b3128000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1778000,CODECS='avc1.77.30,mp4a.40.2',RESOLUTION=852x480
chunklist_w1057647775_b1778000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1048000,CODECS='avc1.77.30,mp4a.40.2',RESOLUTION=640x360
chunklist_w1057647775_b1048000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=738000,CODECS='avc1.77.21,mp4a.40.2',RESOLUTION=428x240
chunklist_w1057647775_b738000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=528000,CODECS='avc1.77.13,mp4a.40.2',RESOLUTION=312x176
chunklist_w1057647775_b528000.m3u8

The first chunk is chunklist_w1057647775_b3128000 and you can see each subsequent chunk after that. Each chunk will reveal the media URI to be downloaded by the client. We can see this as follows:

bash
curl http://wowzaec2demo.streamlock.net/vod/_definst_/smil:streaming_tutorial/streaming_tutorial.smil/chunklist_w570392994_b3128000.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:6.0,
media_w570392994_b3128000_0.ts
#EXTINF:6.0,
media_w570392994_b3128000_1.ts
#EXTINF:6.0,
media_w570392994_b3128000_2.ts
#EXTINF:6.0,
media_w570392994_b3128000_3.ts
#EXTINF:6.0,

`media_w570392994_b3128000_0.ts` is the first media sequence of the first chunk. For example:

bash
curl -I http://wowzaec2demo.streamlock.net/vod/_definst_/smil:streaming_tutorial/streaming_tutorial.smil/media_w570392994_b528000_0.ts
HTTP/1.1 200 OK
Date: Mon, 09 Jun 2014 21:51:20 GMT
Content-Type: video/MP2T
Accept-Ranges: bytes
Server: FlashCom/3.5.7
Cache-Control: no-cache
Content-Length: 426008

Ruby JMeter

The logic to this is straightforward.

Essentially our first request is to get the playlist. In the response we will extract the chunklist. We then make a request to each chunk. In the response of each we extract the streams. We then make a request to each media stream.

We can simulate this in Ruby JMeter as follows:

bash
get name: 'playlist', url: '#{base_path}/playlist.m3u8' do
random_timer 1000, 3000
extract regex: 'chunklist_(.+?).m3u8',
match_num: -1,
name: 'chunklist'
end
exists 'chunklist_matchNr' do
foreach_controller inputVal: 'chunklist', returnVal: 'chunk' do
get name: 'chunk', url: '#{base_path}/chunklist_${chunk}.m3u8' do
extract regex: 'media_(.+?).ts',
match_num: -1,
name: 'streams'
end
exists 'streams_matchNr' do
foreach_controller inputVal: 'streams', returnVal: 'stream' do
get name: 'stream', url: '#{base_path}/media_${stream}.ts'
end
end
end
end

Notice how we've made use of the match_num: -1 in order to extract all response body matches for each of the items we're interested in, chunklist and streams. We check that the relevant capture has more than one matchNr before making subsequent requests. We also use the foreach_controller of JMeter to loop through each of these results.

Rtmp Load Testing Tool Software

You can see the full Ruby JMeter script in detail here. If you don't want to use ruby-jmeter you can also download a copy of the same JMeter test plan here.

Rtmp

Running it on Flood IO

You can upload the JMeter test plan or use the ruby-jmeter gem to execute this demonstration on Flood IO for free. Here are some example results.

What type of results would we be looking for? Flat response times would be of importance, especially for the stream transaction as this is the transaction that is delivering media to the client.

We'd obviously be interested in any response time variation of this transaction as we increase the concurrency (and subsequent network throughput) against the system under test.

Obviously this sort of testing with full HLS media is likely to generate enormous bandwidth between the simulated clients and system under test. This is a perfect reason to consider solutions like Flood IO to generate this type of load.

Rtmp Server Download