---
title: HTTP Live Streaming Performance Test
description: Loadium blog
image: https://cdn-images-1.medium.com/max/800/1*joyHObJyFZbT-mb_MuWejw.jpeg
---

[Skip to content](https://explore.loadium.com/loadium-blog/http-live-streaming-performance-test#main-content)

 Sep 8, 2025 11:08:38 AM

# HTTP Live Streaming Performance Test

![Picture of Erdem KIRMIZI](https://explore.loadium.com/hs-fs/hubfs/bio.jpg?width=50&name=bio.jpg) [Erdem KIRMIZI](https://explore.loadium.com/loadium-blog/authors/erdem-kirmizi)

Share: [facebook-f icon](http://www.facebook.com/share.php?u=https://explore.loadium.com/loadium-blog/http-live-streaming-performance-test) [linkedin-in icon](http://www.linkedin.com/shareArticle?mini=true&url=https://explore.loadium.com/loadium-blog/http-live-streaming-performance-test) [Twitter icon](https://twitter.com/intent/tweet?url=https://explore.loadium.com/loadium-blog/http-live-streaming-performance-test) [pinterest-p icon](http://pinterest.com/pin/create/link/?url=https://explore.loadium.com/loadium-blog/http-live-streaming-performance-test) [envelope icon](mailto:?body=https://explore.loadium.com/loadium-blog/http-live-streaming-performance-test)

![](https://cdn-images-1.medium.com/max/800/1*joyHObJyFZbT-mb_MuWejw.jpeg)

### Why should you test HTTP Live Streaming Performance?

HTTP Live Streaming protocol is designed by Apple. It can send live and on‐demand audio or video to any device with HTTP Live Streaming (HLS) technology. By using this technology, Content Delivery Networks are used to host these types of contents by separating ordinary web servers from CPU consuming transactions. HTTP live streaming performance test is essential for its quality.

HLS is an adaptive bitrate technology for different bandwidths and resolutions. HLS files are divided into small files encoded using the [mpg2\_ts codec](https://www.encoding.com/formats/). The streams are mapped to the client in real time using a .m3u8 index file based on screen size and available bandwidth.

Let’s see how to do a load test on an HLS platform. HLS files have a .m3u8 extension and it’s important for you to understand its structure and responses.

- **Make an HTTP call to m3u8 files**. The response is not something you see every day. It’s not an **HTML**, **XML** or **JSON** It’s different. You receive the small HTTP chucks split by the CDN server.

![](https://cdn-images-1.medium.com/max/800/1*pEsxu8vjV8iqvIMpHUL_Gw.png)

**Example:**

#EXTM3U

#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=688301

[http://url/1010qwoeiuryfg/0640\_vod.m3u8](http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/0640_vod.m3u8)

- Capture m3u8 chucks by adding a **Regular Expression Extractor** to **HTTP Sampler**.

![](https://cdn-images-1.medium.com/max/800/1*RXnGTdqMP7jV8OA5hGD1yA.png)

By using this specific regular expression, we capture the numeric expression located in the responses like “**0640\_vod.m3u8**”.

- Make a request to these captures m3u8 file.

You may receive thousands of chucks, so you need to make a request to each one of them.

- Add a **ForEach Controller** to make a request to all these chucks by setting the **Input variable prefix** to our **Regular Expression Extractor’s** **Reference**ForEach controller it will work as a loop and iterate through all the received chucks.

![](https://cdn-images-1.medium.com/max/800/0*4nRV1w1AmkCUSK66.png)

- Create a new **HTTP sampler**. Pass the chuck name captured in the previous request into the path of the new URL.

![](https://cdn-images-1.medium.com/max/800/1*74ExrKSuoeXe_95EkDzZfw.png)

We are ready to make a request to the captured chunks but one step is missing. That is; keeping the streaming alive.

- Run your test once and see the output. You have another different response coming from the chunks.

#EXTM3U

#EXT-X-TARGETDURATION:10

#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:10,

0640/06400.ts

#EXTINF:10,

0640/06401.ts

#EXTINF:10,

0640/06402.ts

- Capture the “\***.ts**” keywords. So we create another **Regular Expression Extractor** and extract ts files.

![](https://cdn-images-1.medium.com/max/800/1*nLYbTXwFE0qCwYgihAL2YA.png)

- **ForEach controller**, pass Streams variable as an input to it so you iterate in it.

![](https://cdn-images-1.medium.com/max/800/1*cmRS9-5M0GJGcfZ89v57Lg.png)

HTTP Live Streaming Performance

- Create an **HTTP Sampler** to make a request for these ts links.

![](https://cdn-images-1.medium.com/max/800/1*0lGqmmB8xCOX86-ynuJsoQ.png)

- Now upload your JMX files into Loadium and conduct your HTTP Live Streaming Performance test.

![](https://cdn-images-1.medium.com/max/800/1*UximIGZu2gXWLwIoY4nqMg.png)

Please feel free to [ask](https://loadium.com/contact-us/) questions if you have any.

Happy load testing!

 

[Stress Testing](https://explore.loadium.com/blog/tag/stress-testing) , [Load Testing](https://explore.loadium.com/blog/tag/load-testing) , [Examples](https://explore.loadium.com/blog/tag/examples)

## Related posts

[![](https://cdn-images-1.medium.com/max/800/1*BH2OOZ-jTz5P5TVmVuWtpg.jpeg)](https://explore.loadium.com/loadium-blog/top-10-advices-for-jmeter-beginners)

[Tools](https://explore.loadium.com/loadium-blog/tag/tools), [JMeter](https://explore.loadium.com/loadium-blog/tag/jmeter)

## [Top 10 Advices For JMeter Beginners](https://explore.loadium.com/loadium-blog/top-10-advices-for-jmeter-beginners)

![Picture of Erdem KIRMIZI](https://explore.loadium.com/hs-fs/hubfs/bio.jpg?width=50&name=bio.jpg) [Erdem KIRMIZI](https://explore.loadium.com/loadium-blog/authors/erdem-kirmizi) 

 Sep 8, 2025 11:12:20 AM

JMeter is one of the most used open-source load testing tools, and as all Loadium Blog visitors...

[Read more](https://explore.loadium.com/loadium-blog/top-10-advices-for-jmeter-beginners)

[![](https://cdn-images-1.medium.com/max/800/1*uJIF18s0bbV3cErJ8Bw5Xg.png)](https://explore.loadium.com/loadium-blog/hls-testing-with-jmeter)

[JMeter](https://explore.loadium.com/loadium-blog/tag/jmeter)

## [HLS Testing with JMeter](https://explore.loadium.com/loadium-blog/hls-testing-with-jmeter)

![Picture of Erdem KIRMIZI](https://explore.loadium.com/hs-fs/hubfs/bio.jpg?width=50&name=bio.jpg) [Erdem KIRMIZI](https://explore.loadium.com/loadium-blog/authors/erdem-kirmizi) 

 Sep 8, 2025 11:11:28 AM

In this article, we will cover how to perform video streaming (downloading action) tests with...

[Read more](https://explore.loadium.com/loadium-blog/hls-testing-with-jmeter)

[![](https://cdn-images-1.medium.com/max/800/1*dSfByEiftnIgR4jBUi6dJQ.jpeg)](https://explore.loadium.com/loadium-blog/postman-to-jmeter-simplified-conversion-for-performance-testing)

## [Postman to JMeter: Simplified Conversion for Performance Testing](https://explore.loadium.com/loadium-blog/postman-to-jmeter-simplified-conversion-for-performance-testing)

![Picture of Erdem KIRMIZI](https://explore.loadium.com/hs-fs/hubfs/bio.jpg?width=50&name=bio.jpg) [Erdem KIRMIZI](https://explore.loadium.com/loadium-blog/authors/erdem-kirmizi) 

 Sep 8, 2025 10:17:20 AM

Efficient and accurate performance testing is necessary for software quality. Tools like Postman...

[Read more](https://explore.loadium.com/loadium-blog/postman-to-jmeter-simplified-conversion-for-performance-testing)

---

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Erdem KIRMIZI",
    "url" : "https://explore.loadium.com/loadium-blog/author/erdem-kirmizi"
  },
  "dateModified" : "2025-09-17T11:14:35.740Z",
  "datePublished" : "2025-09-08T08:08:38.000Z",
  "headline" : "HTTP Live Streaming Performance Test",
  "image" : [ "https://cdn-images-1.medium.com/max/800/1*joyHObJyFZbT-mb_MuWejw.jpeg" ],
  "mainEntityOfPage" : {
    "@id" : "https://explore.loadium.com/loadium-blog/http-live-streaming-performance-test",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://explore.loadium.com/hubfs/Logo-1.png"
    },
    "name" : "Loadium"
  }
}
```