http2 max одновременных потоков - PullRequest
0 голосов
/ 07 мая 2019

Я новичок по поводу http2, но я думаю, что моя проблема связана с этим.Во-первых, у меня есть этот WordPress-сайт https://anekitalia.com, который размещен в огромном кластере моей компании.Это контейнер lxc debian9 с включенной лампой и модом http2, и я использую плагин кэширования wp rocket.На домашней странице я разместил два javascript-кода для рандомизации фонового видео и фонового изображения (изображение видно только на мобильных устройствах).Это код, который я использую.

<script>
//random video only desktop
var isMobile = 
/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ? 
true : false;
jQuery(document).ready(function($){
  if(!isMobile) {
        var video = new Array ();
        video[0] = "/anek-ferry-traghetti-grecia-low.mp4";
        video[1] = "/anek-ferry-traghetti-grecia-v2-low.mp4";
        var randomvideo = Math.floor(Math.random() * video.length);
        $('#random-clip video').attr('src', '/wp-        
 content/uploads/media' + video[randomvideo]);
        $('#random-clip source').attr('src', '/wp- 
content/uploads/media' + video[randomvideo]);
    }
});
</script>
<script>
//random background only mobile
jQuery(document).ready(function($){

 var background = new Array ();
 background[0] = "/traghetti-italia-grecia-anek-fallback1.jpg";
 background[1] = "/traghetti-italia-grecia-anek-fallback5.jpg";
 background[2] = "/traghetti-italia-grecia-anek-fallback2.jpg";
 var randombackground = Math.floor(Math.random() * background.length); 

$("#random-clip.et_pb_fullwidth_header.et_pb_fullwidth_header_0").css({
  'background-image': 'url(/wp-content/uploads/media' + 
background[randombackground] + ')',
    'background-position-y': '35%' });
});
</script>

проблема заключается в том, что если вы удалите кэш-память Chrome и посмотрите на водяной след, вы заметите этот waterfall запрос наФоновое видео anek-ferry-traghetti-grecia-v2-low.mp4 запускается вместе с пикселем Facebook и скриптами Google, но останавливается, а затем немного перезапускается, затем снова останавливается и перезапускается, после чего начинается запрос случайного фона.Что я ожидаю с http2, так это то, что все запросы начинаются рядом друг с другом, я не могу понять эту фрагментацию, поэтому я думаю, что, когда все сценарии google и facebook запускаются, они перегружают запрос потока maximux, и это результат.Я прочитал, что могу увеличить настройки SETTINGS_MAX_CONCURRENT_STREAMS, которые, возможно, могут это исправить, но, как я уже писал, я нуб с http2, поэтому я не знаю, где разместить эту директиву.Надеюсь, что кто-то может, по крайней мере, указать мне направление.большое спасибо

1 Ответ

0 голосов
/ 07 мая 2019

Причина, по которой ваше изображение запрашивается 3 раза: , а не из-за максимального числа одновременных потоков HTTP / 2 (их не так много на скриншоте), а потому, что изображение загружается по частям - это очевидноиз кода состояния ответа 206.

Подробнее о состоянии 206 можно прочитать здесь: https://httpstatuses.com/206.

То, что вы видите, совершенно нормальное поведение.

...