Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.7 > vBulletin 3.7 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
YSLOW 1.0.3 (Make Your Forum Faster) Details »»
YSLOW 1.0.3 (Make Your Forum Faster)
Version: 1.0.3, by Jack0919 Jack0919 is offline
Developer Last Online: Jun 2011 Show Printable Version Email this Page

Category: Add-On Releases - Version: 3.7.0 Rating:
Released: 05-05-2008 Last Update: 05-15-2008 Installs: 706
Additional Files Translations  
No support by the author.

Info
==============================

This mod can make your vbulletin seem faster.

It works only with apache. It works with VB 3.5.X, VB 3.6.x, VB 3.7.x ...


How it works: http://developer.yahoo.com/yslow/




Update
==============================
1.0.1 First release.
1.0.2 Correct the problem of the Charset.
1.0.2 fix the bug [s]that's not work with vbseo.[/s]
1.0.2 fix the bug [s]by forum on the different directory[/s].
1.0.3 A very important update for safe.
1.0.3 fix the bug [s]that YSLOW do PHP source reads.[/s]
1.0.3 【Thanks very much to bahisyeri
1.0.3 Adjustment server load and speed to an acceptable set .



INSTALLED
==============================

If you have any piont please leave your replay, and it will be helpful.

IF YOU LIKE IT , PLEASE MARK AS INSTALLED


What does it do?
==============================

Add an Expires header


Adding an Expires header to your components with a date in the future makes them cacheable, reducing the load time of your pages. Certainly this should be done with images, but that's fairly typical. Go a step further and add it to scripts and stylesheets, too. This won't affect performance the first time users hit your page, but on subsequent page views it could reduce response times by 50% or more.

Gzip componentes

Gzipping all the js and css files types to reduce page weight. The greatest advantage is compressed to reduce the amount of data transmission network, thereby improving the client browser access speed. Of course, but also increase the burden on the server a little bit. Gzip is a more common form of HTTP compression algorithm.

Configure ETags

1. Client requests a page (A).
2. The server Back to A, and A to add a ETag.
3. Client display the page, and pages together with the ETag cache.
4. Customers once again request pages A, and the last request to the server to return to the ETag transmitted to the server.
5. Server checks the ETag, and to determine the page since the last client request has not been modified, to return to direct response to a 304 (Not Modified) and a response of the air.
So. ETag is a Tag to your components to see if they has been modified. If not here will be no request happened. Configure it is a good way.

Easy Install
==============================

1. Upload all the content to your forum directory.
2. There is no step two. It's done.

UNinstall
==============================

1. Remove all.
2. Done.

If
==============================

If the mod does not work,open and edit httpd.conf like this:
find:
#LoadModule rewrite_module modules/mod_rewrite.so
remove # as:
LoadModule rewrite_module modules/mod_rewrite.so
save, and restart apache, then it's should be OK.
-------------------------------------------------
IF there has a .htaccess File in your forum root directory yet, Do not cover it, open the .htaccess in the zip,copy all the code,add below your own .htaccess.
-------------------------------------------------

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #382  
Old 09-19-2008, 12:02 PM
gwerzal's Avatar
gwerzal gwerzal is offline
 
Join Date: Oct 2007
Posts: 317
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Installed and it does seem much faster.

Thank you very much
Reply With Quote
  #383  
Old 09-28-2008, 08:32 AM
sunnylikbeckham's Avatar
sunnylikbeckham sunnylikbeckham is offline
 
Join Date: Feb 2008
Location: India
Posts: 165
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

yeah working nice
Reply With Quote
  #384  
Old 09-29-2008, 09:42 AM
Hamednet's Avatar
Hamednet Hamednet is offline
 
Join Date: Oct 2007
Posts: 73
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks dear

very nice !
Reply With Quote
  #385  
Old 10-02-2008, 04:28 PM
dlan dlan is offline
 
Join Date: Aug 2005
Location: Greece
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Good i think but some inevitable compatibility issues. Anyway, gj. I will try to implement some of the principles directly on the forum.
Reply With Quote
  #386  
Old 10-07-2008, 09:24 AM
raj_singh raj_singh is offline
 
Join Date: May 2008
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Works fine for me thanks
Reply With Quote
  #387  
Old 10-07-2008, 10:34 AM
garza garza is offline
 
Join Date: Dec 2003
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

My ability to click on a smilie and have it appear in a post automatically stopped working when I installed this. Any idea why? Any work-arounds?
Reply With Quote
  #388  
Old 10-12-2008, 03:03 AM
Chadi's Avatar
Chadi Chadi is offline
 
Join Date: May 2004
Location: USA
Posts: 2,043
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What methods do you all use to test the before/after results?
Reply With Quote
  #389  
Old 10-15-2008, 05:17 PM
troybtj troybtj is offline
 
Join Date: Apr 2007
Posts: 61
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

To check if it is all working, install the Yslow plugin for firefox. It shows tats for each page next to a speedometer in the status bar.

This worked excellent, but made the Casino, vbCasino texas holdem stop working, stating javascript needs to be enabled. I had to remove the javascript related cache for and gzip for everything to work properly again. Slots, events, and all the other casino items worked, only Texas Holdem was 'broken'. Not sure if the javascript is dynamic, or why having it cached makes it stopped, same for the gzip. All other javascript runs fine zipped and cached.
Reply With Quote
  #390  
Old 10-16-2008, 12:09 AM
Chadi's Avatar
Chadi Chadi is offline
 
Join Date: May 2004
Location: USA
Posts: 2,043
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm running Firebug and Yslow extension in Firefox to do a performance test. I get the following...

Quote:
This page has 15 external JavaScript files.
This page has 5 external StyleSheets.
Quote:
These components do not have a far future Expires header:
This is my htaccess file, using vbseo rules as well:

Quote:
########## VBSEO ##########

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.talkjesus\.com
RewriteRule (.*) http://www.talkjesus.com/$1 [R=301,L]

RewriteRule ^((urllist|sitemap).*\.(xml|txt)(\.gz)?)$ vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} (adminbox|modbox|clientscript|cpstyles|images|gold brick|gallery)/
RewriteRule ^(.*)$ $1 [L]

RewriteCond %{REQUEST_FILENAME}index\.php -f
RewriteRule ^(.*)$ $1index.php [L]

RewriteCond %{QUERY_STRING} !vbseourl=
RewriteCond %{REQUEST_FILENAME} !chat
RewriteRule ^(.*\.php)$ vbseo.php?vbseourl=$1&%{QUERY_STRING} [L]

RewriteRule ^$ vbseo.php?vbseourl=index.php [L]
RewriteRule ^(archive/.*)$ vbseo.php?vbseourl=$1&%{QUERY_STRING} [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ vbseo.php?vbseourl=$1&%{QUERY_STRING} [L]

########## YSLOW ##########

####Charset
AddDefaultCharset Off

####Gzip
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)(js|css)$ redir.php?file=$1$2&type=$2 [L]
</IfModule>

####ETags
FileETag None

####Expires
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType text/css A2592000
ExpiresByType application/x-javascript A2592000
</IfModule>
Also,

Quote:
These components are not gzipped:

clientscript/vbulletin_global.js?v=373
clientscript/quoteit_bbcode.js
clientscript/ajaxtabs/ajaxtabs.js
clientscript/referencetagging.js
Quote:
Minify JS

quoteit_common.js
ajaxtabs.js
Mod defalte and mod expires are both enabled.
Reply With Quote
  #391  
Old 10-16-2008, 02:15 AM
troybtj troybtj is offline
 
Join Date: Apr 2007
Posts: 61
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Make sure you don't have multiple compression methods enabled. look at apache deflate.conf and gzip.conf for which file types they are compressing.

They shouldn't be set to compress the same filetypes. If one of them (gzip or deflate in apache) IS set to compress, make sure compression is disabled in vBulletin ACP Site options, and do not run the PHP Compression script (redir.php) in this mod, as redundant compression may uncompress the content, or mangle it in other ways.

Here is my deflate config:

Code:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE application/x-httpd-eruby
</IfModule>
The lines above are for apache2, deflate is the default compression for apache 2.

The best tip in this mod is the forced caching of relatively persistent objects (images, javascript). If those items are in the cache, it won't matter much if it is 12k or 30k, as it will only be downloaded from your site rarely, instead of on every page load. You can check by looking at "Statistics" tab in Yslow to display which items are cached, saving requests and bandwidth.

For Caching/Expires, I used the headers apache 2 module, with this line for config to cover most everything.
Code:
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Expires "Sun, 15 Apr 2010 18:00:00 GMT"
</FilesMatch>
No other cache control lines in apache2.conf, httpd.conf, or any .htaccess files, and output compression in vB ACP is disabled.


With vBulletin version 3.7.3, I suggest enabling loading the Yahoo YUI scripts from the yahooapis.com CDN. Those scripts are rather large, even when compressed. If you pay for bandwidth by the month, and those are loaded with every page, it can add up very quickly on a high traffic site.


With the above changes and settings, Here are the results from the Firefox Yslow add-on on a 3.7.3 PL1 site with quite a few add-ons: (Everything after 6 is an "A")
B 1. Make fewer HTTP requests
This page has 6 external JavaScript files.
F 2. Use a CDN
You can add your own CDN hostname preferences.
A 3. Add an Expires header
A 4. Gzip components
A 5. Put CSS at the top
C 6. Put JS at the bottom


If you have the ability to change the apache configuration and modules, such as a dedicated server, etc, these config changes would be one good solution out of many methods.

If your only ability to change anything about the server is an .htaccess file, and gzip or deflate aren't installed in your apache server, then this script/.htaccess mod is about your best solution, as well as enabling compression in vB ACP.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:57 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05005 seconds
  • Memory Usage 2,330KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_code
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete