ОШИБКА: нагрузочный тест HLS с использованием JMeter с плагином HLS Sampler - PullRequest
0 голосов
/ 19 сентября 2018

Я пытался протестировать свой HLS-сервер, используя JMeter с HLS Sampler.Но на моем cmd есть ошибка уведомления.Что мне делать?

java.io.FileNotFoundException: http://192.168.2.215/vod/BF1.mp4/chunk.m3u8
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
        at com.blazemeter.jmeter.hls.logic.Parser.getBaseUrl(Parser.java:49)
        at com.blazemeter.jmeter.hls.logic.HlsSampler.getPlayList(HlsSampler.java:104)
        at com.blazemeter.jmeter.hls.logic.HlsSampler.sample(HlsSampler.java:156)
        at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:498)
        at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:424)
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: http://192.168.2.215/vod/BF1.mp4/chunk.m3u8
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
        at java.net.HttpURLConnection.getResponseCode(Unknown Source)
        at com.blazemeter.jmeter.hls.logic.Parser.getBaseUrl(Parser.java:46)
        ... 6 more

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Это ошибка в плагине , который не обрабатывает все возможности URL, я думаю, перенаправление или относительные URL.

Мы сделали POC в прошлом с ним, и мыобнаружил, что было несколько случаев, которые не обрабатывались правильно, что могло привести к:

  • Тесту зависания, тест никогда не закончится
  • Ложные срабатывания (тест помечен как неудачный, но нет реальной проблемы)
  • много возможностей HLS не обработано
  • Давайте даже не будем говорить о потоковых вещаниях, которые намного сложнее, чем VOD, и которые работают только с очень немногими простыми случаями.

Но так как это бесплатный плагин для OSS, вы можете попытаться предоставить патч самостоятельно, если у вас есть время и способность понять java и jmeter.

Я думаю, что плагин хорош для обработки очень простых случаев, но недля всех реальных возможностей на текущий момент.

Кроме того, даже при этом моделирование того, как проигрыватель запрашивает URL-адреса для потоковых серверов, очень сложно воспроизвести, так как вам нужноIMIC паузы, воспроизведение видео, лаги ...

И, конечно, обычно, когда вы хотите протестировать HLS, вы также хотите протестировать mpeg-dash , по крайней мере, что является гораздо более сложнымstory.

Наконец, вам обычно требуется пользовательских метрик для анализа нагрузочного теста, в котором отсутствует плагин.

0 голосов
/ 19 сентября 2018

Существует 2 возможности:

  1. В вашем видеопотоке есть ошибка, т.е. m3u8 список воспроизведения относится к несуществующему URL чанка, проверьте, можете ли вы воспроизвести видео с помощью обычного видеоplayer ie VLC
  2. В плагине HLS Sampler есть ошибка, которая неправильно анализирует начальный ответ.В этом случае обратитесь к разработчикам плагинов через форум jmeter-plugins .В то же время вы можете использовать обычный запрос HTTP сэмплер для нагрузочного тестирования службы HTTP Live Streaming
...