站点速度和利用浏览器缓存
Site speed and Leverage browser caching
我有一个网站在 GTmetrix pagespeed 测试中得分为 88% (89 Google),总页面大小为 343kb,页面加载时间为 1.4s,但在测试时显示需要时间和年龄(约 20 秒)
该站点由 Go daddy 托管,我相信这可能是问题所在,但它正在证明这一点。
这是一个 plesk 托管帐户,我正在尝试启用杠杆浏览器缓存,我已将 .htaccess 文件添加到包含以下内容的根目录中:
# BEGIN Expire headers
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 week"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 604800 seconds"
ExpiresByType application/x-javascript "access plus 604800 seconds"
ExpiresByType text/html "access plus 604800 seconds"
ExpiresByType application/xhtml+xml "access plus 1200 seconds"
</ifModule>
# END Expire headers
我仍然收到需要启用利用浏览器缓存的错误消息,知道这是如何完成的吗?
是否有任何其他好的 speed/network 测试可以帮助解决页面显示缓慢的问题?
如果您在浏览器中启动开发人员工具并查看其中一个 HTTP 请求,它看起来不像 Expires header 设置正确。
如果我重新加载页面,它会发出另一个完整请求,我会收到 200 响应。您的 htaccess 文件看起来没问题,但您是否尝试过另一个示例,本文中的示例看起来像完整包:
https://paulund.co.uk/set-expire-headers-in-htaccess
您可能还需要添加:
Header append Cache-Control "public"
到您的 htaccess 文件。
你的问题是icomoon.tff。
字体文件被认为是 CSS.
在将所有 CSS 加载到 DOM.
之前,浏览器无法开始呈现页面
页面实际上在紫色条纹(DOM 已加载)开始的大约 1.6 处开始呈现。
解析完jQuery后,DOM几乎在1.563完成。
遇到字体文件时,从 1.6 到 1.85 的所有渲染都被废弃,浏览器重新启动。
如您所见,icomoon.tff 开始于第一次绘制和开始渲染之间的 1.863。
将字体文件 link 在页眉中上移或添加。更好,不要使用它。
缓存是另一个问题。 Expires 不是缓存控制。
在 HTTP Response Header Cache 控件中看起来像这样:
Cache-Control: max-age=31536000, public
您需要在.htaccess 或服务器配置中设置缓存控制
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|svg|swf|mp3|vtt|)(\.gz)?$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>
jQuery 让你付出代价。如果要正确地进行页面设计,请不要使用jQuery。此页面上没有任何内容需要 jQuery 才能呈现。没有它可以很容易地完成。事实上,当我禁用 JavaScript 时,页面看起来呈现相同。
CSS 可能会更好。耗时约 1.5 秒。
考虑到此页面可能会在大约 0.500 秒或更短的时间内加载,它会花费您 3 倍的页面加载时间。
如果您要高效地完成 CSS 而不是使用其他人的东西,CSS 将很适合 HTML <head><style>
并且此页面将开始在 0.400 之前渲染。
把它放在一个好的服务器上,GoDaddy 很烂,你的页面加载可能低于 0.300。 AWS 在性能和价格方面难以匹敌。使用 GoDaddy,您付出的代价太大了。
以下时间来自webpagetest.org
domElements' => 115,
pageSpeedVersion' => '1.9',
title' => 'Trinitas Designs',
titleTime' => 877,
loadEventStart' => 2646,
loadEventEnd' => 2652,
domContentLoadedEventStart' => 1563,
domContentLoadedEventEnd' => 1808,
lastVisualChange' => 2680,
browser_name' => 'Google Chrome',
browser_version' => '50.0.2661.94',
server_count' => 1,
server_rtt' => 139,
base_page_cdn' => '',
adult_site' => 0,
fixed_viewport' => 1,
score_progressive_jpeg' => 0,
firstPaint' => 1852,
docCPUms' => 1653.611,
fullyLoadedCPUms' => 1887.612,
docCPUpct' => 61,
fullyLoadedCPUpct' => 36,
isResponsive' => -1,
browser_process_count' => 9,
browser_main_memory_kb' => 50872,
browser_other_private_memory_kb' => 71108,
browser_working_set_kb' => 121980,
domInteractive' => 1563,
date' => 1462831114,
SpeedIndex' => 2278,
visualComplete' => 2680,
icomoon.tff
full_url' => 'http://www.trinitasdesigns.com/fonts/fonts/icomoon.ttf?2ym5un',
score_progressive_jpeg' => -1,
load_end' => 2638,
ttfb_start' => '1863',
ttfb_end' => 2033,
download_start' => 2033,
download_end' => 2638,
download_ms' => 605,
all_start' => '1863',
all_end' => 2638,
all_ms' => '775',
我有一个网站在 GTmetrix pagespeed 测试中得分为 88% (89 Google),总页面大小为 343kb,页面加载时间为 1.4s,但在测试时显示需要时间和年龄(约 20 秒)
该站点由 Go daddy 托管,我相信这可能是问题所在,但它正在证明这一点。
这是一个 plesk 托管帐户,我正在尝试启用杠杆浏览器缓存,我已将 .htaccess 文件添加到包含以下内容的根目录中:
# BEGIN Expire headers
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 week"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 604800 seconds"
ExpiresByType application/x-javascript "access plus 604800 seconds"
ExpiresByType text/html "access plus 604800 seconds"
ExpiresByType application/xhtml+xml "access plus 1200 seconds"
</ifModule>
# END Expire headers
我仍然收到需要启用利用浏览器缓存的错误消息,知道这是如何完成的吗?
是否有任何其他好的 speed/network 测试可以帮助解决页面显示缓慢的问题?
如果您在浏览器中启动开发人员工具并查看其中一个 HTTP 请求,它看起来不像 Expires header 设置正确。
如果我重新加载页面,它会发出另一个完整请求,我会收到 200 响应。您的 htaccess 文件看起来没问题,但您是否尝试过另一个示例,本文中的示例看起来像完整包:
https://paulund.co.uk/set-expire-headers-in-htaccess
您可能还需要添加:
Header append Cache-Control "public"
到您的 htaccess 文件。
你的问题是icomoon.tff。
字体文件被认为是 CSS.
在将所有 CSS 加载到 DOM.
页面实际上在紫色条纹(DOM 已加载)开始的大约 1.6 处开始呈现。
解析完jQuery后,DOM几乎在1.563完成。
遇到字体文件时,从 1.6 到 1.85 的所有渲染都被废弃,浏览器重新启动。
如您所见,icomoon.tff 开始于第一次绘制和开始渲染之间的 1.863。
将字体文件 link 在页眉中上移或添加。更好,不要使用它。
缓存是另一个问题。 Expires 不是缓存控制。
在 HTTP Response Header Cache 控件中看起来像这样:
Cache-Control: max-age=31536000, public
您需要在.htaccess 或服务器配置中设置缓存控制
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|svg|swf|mp3|vtt|)(\.gz)?$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>
jQuery 让你付出代价。如果要正确地进行页面设计,请不要使用jQuery。此页面上没有任何内容需要 jQuery 才能呈现。没有它可以很容易地完成。事实上,当我禁用 JavaScript 时,页面看起来呈现相同。
CSS 可能会更好。耗时约 1.5 秒。
考虑到此页面可能会在大约 0.500 秒或更短的时间内加载,它会花费您 3 倍的页面加载时间。
如果您要高效地完成 CSS 而不是使用其他人的东西,CSS 将很适合 HTML <head><style>
并且此页面将开始在 0.400 之前渲染。
把它放在一个好的服务器上,GoDaddy 很烂,你的页面加载可能低于 0.300。 AWS 在性能和价格方面难以匹敌。使用 GoDaddy,您付出的代价太大了。
以下时间来自webpagetest.org
domElements' => 115,
pageSpeedVersion' => '1.9',
title' => 'Trinitas Designs',
titleTime' => 877,
loadEventStart' => 2646,
loadEventEnd' => 2652,
domContentLoadedEventStart' => 1563,
domContentLoadedEventEnd' => 1808,
lastVisualChange' => 2680,
browser_name' => 'Google Chrome',
browser_version' => '50.0.2661.94',
server_count' => 1,
server_rtt' => 139,
base_page_cdn' => '',
adult_site' => 0,
fixed_viewport' => 1,
score_progressive_jpeg' => 0,
firstPaint' => 1852,
docCPUms' => 1653.611,
fullyLoadedCPUms' => 1887.612,
docCPUpct' => 61,
fullyLoadedCPUpct' => 36,
isResponsive' => -1,
browser_process_count' => 9,
browser_main_memory_kb' => 50872,
browser_other_private_memory_kb' => 71108,
browser_working_set_kb' => 121980,
domInteractive' => 1563,
date' => 1462831114,
SpeedIndex' => 2278,
visualComplete' => 2680,
icomoon.tff
full_url' => 'http://www.trinitasdesigns.com/fonts/fonts/icomoon.ttf?2ym5un',
score_progressive_jpeg' => -1,
load_end' => 2638,
ttfb_start' => '1863',
ttfb_end' => 2033,
download_start' => 2033,
download_end' => 2638,
download_ms' => 605,
all_start' => '1863',
all_end' => 2638,
all_ms' => '775',