我一直在基於drupal的個人頁面上工作。我注意到它需要永久加載6-10秒鐘。如何加速網頁加載?主要問題是隊列時間
看了一些性能測試後,特別是從site-perf.com, 我注意到加載時間是80%的排隊時間。
它看起來lightbox2和我的主題貢獻約2/3的排隊時間。
有關加快速度的建議嗎?
我一直在基於drupal的個人頁面上工作。我注意到它需要永久加載6-10秒鐘。如何加速網頁加載?主要問題是隊列時間
看了一些性能測試後,特別是從site-perf.com, 我注意到加載時間是80%的排隊時間。
它看起來lightbox2和我的主題貢獻約2/3的排隊時間。
有關加快速度的建議嗎?
請記住在您的根目錄中的.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壓縮,儘量不平行裝載任何文件合併。如果在開始下載之前發現一個正在等待另一個文件加載的文件,那麼如果可能的話,將這兩個文件合併成一個文件。
當您向頁面添加JavaScript(例如Lightbox或任何其他插件)時,請務必將其解析添加到頁面底部,而不是將它們添加到頁面頭部。
在呈現網頁之前,瀏覽器將解析頭部中的任何內容,因此請記下任何不需要在其中的內容,例如包含或包含在頭部的其他自定義腳本,並僅包含它們在結束標籤之前。
我也注意到,包含了8個js文件(和大量的CSS文件),您可以通過將所有這些javascript代碼放入單個js文件中(並將所有CSS放入單個文件中來縮短渲染時間)幷包括那一個。
請注意,請務必將CSS保留在頁面的頭部,因爲它必須正確呈現網頁。
從提到http://site-perf.com/網站報價:
請求正在等待隊列中
通常情況下,瀏覽器不開始 處理的HTTP請求,只要它是 排隊,防止網絡服務器免受 重載。每個主機限制 的同時連接,以及所有連接的總數限制爲 。這些限制 因瀏覽器和瀏覽器而異,而今天的 是每個主機8-10個 個並行請求和總共32-128個 的常見值。
提示:如果您發現很多請求 花費大量的時間在瀏覽器 隊列,你可以考慮增加 主機數量,將有助於這些 請求。你甚至可以創建域 的別名,它們指向同一個IP,並 從同一目錄服務, 因爲瀏覽器看起來只在域 名稱,而不是它的IP應用 連接限制時。但是請記住,那個 每增加一個域就會加上 對應的解析和連接 的延遲,所以3-6這樣的別名相當於 就夠了。
你可以嘗試類似並行模塊 - http://drupal.org/project/parallel - 看看是否會加快你的速度。或者,如果你想要更多的,感覺有點冒險 - CDN - http://drupal.org/project/cdn
我假定你把所有的CSS/JS已經整合?緩存啓用?
您確定您正確地閱讀本文。我會假設標題/正文部分與內容本身相關,而隊列也許意味着其他內容? – ChrisBint
嗯,我不知道,看看這個http://site-perf.com/cgi-bin/show.cgi?id=4ZS9FdXvQ2g – madmaze