Drupal 如何加速网页加载?主要问题是排队时间

Drupal 如何加速网页加载?主要问题是排队时间,drupal,optimization,web,Drupal,Optimization,Web,我一直在开发基于drupal的个人页面。 我注意到经常加载6-10秒需要花费很长时间 在研究了一些性能测试之后,特别是从site-perf.com上, 我注意到加载时间是80%的排队时间。 似乎lightbox2和我的主题贡献了大约2/3的排队时间 有没有加快速度的建议?当您将Java脚本添加到页面(如Lightbox或任何其他加载项)时,请确保通过将它们添加到页面底部而不是添加到页眉来延迟它们的解析 浏览器将在呈现网页之前解析头部中的任何内容,因此,将不需要的任何内容(如lightbox i

我一直在开发基于drupal的个人页面。 我注意到经常加载6-10秒需要花费很长时间

在研究了一些性能测试之后,特别是从site-perf.com上, 我注意到加载时间是80%的排队时间。

似乎lightbox2和我的主题贡献了大约2/3的排队时间


有没有加快速度的建议?

当您将Java脚本添加到页面(如Lightbox或任何其他加载项)时,请确保通过将它们添加到页面底部而不是添加到页眉来延迟它们的解析

浏览器将在呈现网页之前解析头部中的任何内容,因此,将不需要的任何内容(如lightbox include或您在头部包含或编写的其他自定义脚本)包含在结束正文标记之前

我还注意到其中包括8个js文件和大量CSS文件,您可以通过将所有这些Java脚本的代码放在一个js文件中,将所有CSS放在一个文件中并仅包含该文件来减少渲染时间


请注意,确保将CSS保留在页面的头部,因为这是正确呈现网页所必需的。

当您将Java脚本添加到页面(如Lightbox或任何其他加载项)时,请确保通过将它们添加到页面底部而不是添加到头部来延迟它们的解析

浏览器将在呈现网页之前解析头部中的任何内容,因此,将不需要的任何内容(如lightbox include或您在头部包含或编写的其他自定义脚本)包含在结束正文标记之前

我还注意到其中包括8个js文件和大量CSS文件,您可以通过将所有这些Java脚本的代码放在一个js文件中,将所有CSS放在一个文件中并仅包含该文件来减少渲染时间

请注意,确保将CSS保留在页面的头部,因为正确呈现网页是必要的。

引用上述网站:

请求正在队列中等待

通常,浏览器不会开始 http请求一经发出就立即处理 排队,阻止web服务器 超载。每个主机都有限制 同时连接的数量和总数 所有连接的限制。这些限制 因浏览器而异,以及 今天,8-10是常见的值 每个主机和32-128个并行请求 总数

提示:如果您看到那么多请求 在浏览器中花费大量时间 排队,你可以考虑增加 将为这些服务器提供服务的主机数 请求。您甚至可以创建域 指向同一IP的别名是 从同一目录送达, 因为浏览器只在域上查看 名称,而不是应用时的IP 连接限制。但请记住 每个附加域将添加 相应的解析和连接 延迟,所以3-6个这样的别名是非常有用的 够了

你可以试试类似并行模块的东西——看看这是否会加快速度。或者,如果你想要更多,并且感觉有点冒险-CDN-

我想你已经聚合了所有的CSS/JS了吧?启用缓存?

引用上述网站:

请求正在队列中等待

通常,浏览器不会开始 http请求一经发出就立即处理 排队,阻止web服务器 超载。每个主机都有限制 同时连接的数量和总数 所有连接的限制。这些限制 因浏览器而异,以及 今天,8-10是常见的值 每个主机和32-128个并行请求 总数

提示:如果您看到那么多请求 在浏览器中花费大量时间 排队,你可以考虑增加 将为这些服务器提供服务的主机数 请求。您甚至可以创建域 指向同一IP的别名是 从同一目录送达, 因为浏览器只在域上查看 名称,而不是应用时的IP 连接限制。但请记住 每个附加域将添加 相应的解析和连接 延迟,所以3-6个这样的别名是非常有用的 够了

你可以试试类似并行模块的东西——看看这是否会加快速度。或者,如果你想要更多,并且感觉有点冒险-CDN-


我想你已经聚合了所有的CSS/JS了吧?已启用缓存?

请记住在根目录的.htaccess文件中缓存和gzip文件。如果没有,则制作一个,然后添加以下代码段:

#GZIP ----------------------------
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
<ifModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file \.(html?|txt|css|js)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
<ifmodule mod_php4.c>
php_value zlib.output_compression 16386
</ifmodule>

#CACHE ----------------------------
<ifModule mod_headers.c>
    # MONTH
    <FilesMatch "\.(flv|gif|jpg|jpeg|png|ico|swf)$">
        Header set Cache-Control "max-age=2592000"
    </FilesMatch>
    # WEEK
    <FilesMatch "\.(js|css|pdf|txt|mp4|m4v|ogv|webm|ogg)$">
        Header set Cache-Control "max-age=604800"
    </FilesMatch>
    # DAY
    <FilesMatch "\.(html|htm)$">
        Header set Cache-Control "max-age=43200"
    </FilesMatch>
    # NEVER CACHE
    <FilesMatch "\.(pl|php|cgi|spl)$">
        Header set Cache-Control "max-age=0"
    </FilesMatch>
</ifModule>

缓存和gzip之后,请尝试合并任何非并行加载的文件。如果您发现一个文件在开始下载之前正在等待另一个文件加载,那么如果可能,请将这两个文件合并为一个文件。

请记住在根目录的.htaccess文件中缓存并gzip您的文件。如果没有,做一个,然后 添加此代码段:

#GZIP ----------------------------
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
<ifModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file \.(html?|txt|css|js)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
<ifmodule mod_php4.c>
php_value zlib.output_compression 16386
</ifmodule>

#CACHE ----------------------------
<ifModule mod_headers.c>
    # MONTH
    <FilesMatch "\.(flv|gif|jpg|jpeg|png|ico|swf)$">
        Header set Cache-Control "max-age=2592000"
    </FilesMatch>
    # WEEK
    <FilesMatch "\.(js|css|pdf|txt|mp4|m4v|ogv|webm|ogg)$">
        Header set Cache-Control "max-age=604800"
    </FilesMatch>
    # DAY
    <FilesMatch "\.(html|htm)$">
        Header set Cache-Control "max-age=43200"
    </FilesMatch>
    # NEVER CACHE
    <FilesMatch "\.(pl|php|cgi|spl)$">
        Header set Cache-Control "max-age=0"
    </FilesMatch>
</ifModule>

缓存和gzip之后,请尝试合并任何非并行加载的文件。如果您发现一个文件在开始下载之前等待另一个文件加载,那么如果可能,请将这两个文件合并为一个文件。

您确定阅读正确吗。我会假设标题/正文部分与内容本身相关,队列可能意味着其他东西?嗯,我不知道,检查一下,你确定你读得正确吗。我会假设标题/正文部分与内容本身相关,队列可能意味着其他东西?嗯,我不知道,看看这肯定有帮助,但队列时间仍然很长,我会尝试结合一些东西。感谢您的支持,并将JS和CSS与drupal的性能选项整合在一起,这给了我想要的速度。这当然有帮助,但排队时间仍然很长,我会尝试结合一些东西。感谢您的支持,并将JS和CSS与drupal的性能选项整合在一起,让我获得了想要的速度