2017-02-22 44 views
3

Мой сайт http://www.front-end.io настраивает HTTP-запросы для загрузки ресурсов из кеша с первичным приоритетом. Так что мой заголовок будет как:Chrome медленно загружает ресурсы `(из дискового кэша)`

cache-control:max-age=315360000 
ETag:W/"11913b-ks0rwRQM+ijHcl1HDuse3g" 

Chrome действительно не инициирует любой запрос (даже 304) на сервер, он загружает из кэша непосредственно:

enter image description here

Он принимает мой Windows 10 Chrome > 400 мс для загрузки js-файла с локального диска.

My Ubuntu Chromium также занимает> 100 мс.

Но FireFox занимает всего 10 мс!

Я нашел этот вопрос, Google Chrome load image from cache slower than download, но нет объяснений.

Помочь ли кто-нибудь? Благодарю.

+1

Вы используете расширения, такие как AdBlock? –

+0

А, интересно. Я отключил расширение «Грамматически для Chrome», затем он доходит до 10 мс :) @LeonidVasilyev благодарит, пожалуйста, отложите свой ответ. – Joy

ответ

6

Возможно, это неверно.

Чтобы инструменты Chrome Dev, такие как временная шкала, отображали правильную информацию, вы должны отключить расширения, чтобы исключить шум, который они создают. Соответствующий отрывок из How to Use the Timeline Tool article по Kayce басков:

Отключить расширения. Расширения Chrome могут добавлять несвязанный шум к Записи временной шкалы вашего приложения. Откройте окно Chrome в incognito mode или создайте новый Chrome user profile, чтобы убедиться, что в вашей среде нет расширений.

Хотя некоторые расширения могут перехватывать запросы ресурсов при блокировке моды. Грамматически не является одним из этих расширений. Он не требует разрешения webRequestBlocking, указанного в файле манифеста. Проверьте chrome.webRequest page для получения дополнительной информации.

Если вы измеряете время, затрачиваемое браузером на получение сценария /vendor.61e0ab918e699695d3a3.js из дискового кеша, выполните его компиляцию и его выполнение, вы увидите, что он почти постоянный независимо от того, включена ли функция Grammarly или отключена. Вы можете использовать фрагмент кода ниже:

<script>var startTime = performance.now();</script> 
<script type="text/javascript" src="/vendor.61e0ab918e699695d3a3.js"></script> 
<script> 
    var endTime = performance.now(); 
    console.log("Time: " + (endTime - startTime) + " [ms].") 
</script> 
+0

Спасибо @leonid_vasilyev: я отключил расширение Chrome «Грамматически для Chrome», затем он возвращается к норме. – Joy

+0

Спасибо за подсказку о режиме инкогнито. – savehansson

Смежные вопросы