Назад | Перейти на главную страницу

Протокол HTTP2 используется, но запросы все еще последовательны, в отличие от ожидаемых

Я пытаюсь оптимизировать сайт новостного портала и огромное количество около 800-1000 запросов на страницу для нашей CMS, переходя с HTTP11 на HTTP2. Я ожидал, что HTTP2 сделает мои запросы параллельными (например, здесь ссылка), но мои запросы по-прежнему кажутся в значительной степени последовательными (изображение прилагается). картина моей проблемы - в отличие от этого, где мы видим совершенно параллельные запросы: вопрос с примером хорошей работы http2

Сервер - это Caddy, но поскольку то же самое и со статическим сервером node http2, не думаю, что было бы лучше с любым другим.

Инициатор в большинстве случаев require.js так может быть, что это require.js который выполняет запросы последовательно, а не параллельно.

Это может быть случай, например, разрешения модуля: require.js потребности moduleA, поэтому делает запрос на него; когда moduleA приходит в браузер и разбирается, ему нужно moduleB, так require.js делает запрос на moduleB; и так далее.

Попробуйте с Firefox, так как это может быть связано с этой ошибкой в ​​Chrome: https://stackoverflow.com/questions/45384243/google-chrome-does-not-do-multiplexing-with-http2/45775288#45775288

Также вы должны отметить, что многие реализации ограничивают максимальное количество потоков (например, Apache ограничивает 100 потоков за раз), поэтому даже если вы решите свою проблему, вы можете не увидеть, что все 800-1000 запросов выполняются одновременно (но должно быть намного лучше чем вы видите сейчас).