Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons

Reply
 
Thread Tools
vB Accelerator Details »»
vB Accelerator
Version: 0.9, by Vitaly Vitaly is offline
Developer Last Online: Jul 2014 Show Printable Version Email this Page

Category: Board Optimization - Version: 4.0.x Rating:
Released: 06-10-2010 Last Update: 10-21-2010 Installs: 53
Uses Plugins
Re-useable Code  
No support by the author.

ported & significantly improved vb 3.8 branch.

This mod is suited for medium and big boards. It reduces server load, caused by thumnails and big attachments. Includes significant recommendations for server tuning, to speedup pages loading.

what's the problem with?
  1. In original vB all thumbnails a downloaded via php. So, if you page contains 10-20 attached images, then each page php request will be followed by 10-20 thumbnails php requests. That's very bad.
  2. When attachments body transfered via php, that's much more waisteful, than direct transfer of static file. Especially for big files.
  3. Browser does lots of additional requests to static file, to check if modified
  4. JS/CSS not compressed
what this mod does:
  1. All thumbnails will have DIRECT links (served as static files). Much lower reply latency and server load.
  2. If you have nginx webserver, you php-fcgi will not participate in file transfer any more. It will reply with X-Accel-Redirect header. Then nginx will proceed attachment as static file.
    • No more problems with multiple downloads of 10-mb files.
    • No needs to restrict attachments and full-size images for guests and search bots.
  3. Static files are properly cached/compressed after tuning
how to install:
  1. Make sure, attachments are stored on disk, NOT in database.
  2. Make sure, that thumbnails are in web-accessible area. If not - reconfigure your web-server first.
  3. Check manually, that you can download any .thumb file via browser.
  4. !!! Tune cache/compression settings for static files (see example from next post)
  5. Import product XML & tune settings.
  6. Enjoy
This mod is developped here: http://github.com/rcdesign/vb-accelerator . Patches are welcome.

history:

0.9
- fixed path for duplicated attachments

0.8
- fixed back timestamp parameter & substitutions for XML output
- added conversion for assets.php thumbnails (in attachments manager)

0.7
- ported to vb4
- added basic CDN support for thumbnails

Download Now

File Type: xml product-vb_accelerator.xml (12.7 KB, 255 views)

Screenshots

File Type: png vba.png (52.9 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
2 благодарности(ей) от:
DeMonViTo

Comments
  #22  
Old 06-22-2010, 11:59 AM
Vitaly's Avatar
Vitaly Vitaly is offline
 
Join Date: Apr 2004
Location: Russia, St.Petersburg
Posts: 428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by tupique View Post
so this mod is used to change the thumbnails URL only, not the full image?
The goal of this mod is to reduce server load. Direct thumb links affect load. Full attach links - not.

There can be 20 thumbs on thread page. But not 20 fullsize images, downloaded at once.

Quote:
Originally Posted by tupique View Post
http://<domain hidden>/img/1/1.thumb?d=1276962745

Could you remove the query string parameter? It ruins the purpose of image caching, since the parameter value always changing while the image stays the same.
This parameter doesn't affect cacheing. It's fixed for each thumbnail.
Reply With Quote
  #23  
Old 06-22-2010, 12:08 PM
tupique tupique is offline
 
Join Date: May 2010
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

great! thanks!
Reply With Quote
  #24  
Old 06-22-2010, 02:10 PM
tupique tupique is offline
 
Join Date: May 2010
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Could you maybe do the same for image.php (to display user's avatar)? It's hard to cache image served by PHP script.
Reply With Quote
  #25  
Old 06-22-2010, 02:24 PM
Vitaly's Avatar
Vitaly Vitaly is offline
 
Join Date: Apr 2004
Location: Russia, St.Petersburg
Posts: 428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It's already done in vbulletin settings. Please, read vb manual. This mod is NOT buggy, and works properly. Really.
Reply With Quote
  #26  
Old 07-03-2010, 06:45 PM
ssslippy ssslippy is offline
 
Join Date: Jan 2006
Posts: 877
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Do attachments themselves need to be in a public accessible area or just the thumbnails?
Reply With Quote
  #27  
Old 07-03-2010, 06:52 PM
Vitaly's Avatar
Vitaly Vitaly is offline
 
Join Date: Apr 2004
Location: Russia, St.Petersburg
Posts: 428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just the thumbnails
Reply With Quote
  #28  
Old 07-03-2010, 07:00 PM
Xencored Xencored is offline
 
Join Date: Sep 2008
Location: UK, Scuny
Posts: 1,337
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Fact my thumbs seem tons faster to load thanks!!

now Vitaly could you explain this part please

"CDN list
Enter up to 4 mirror domains, to load local images faster. For example:"

Thanks!

Ps. how do i know if i have a NGINX websever lol sorry :x
Reply With Quote
  #29  
Old 07-03-2010, 07:30 PM
Vitaly's Avatar
Vitaly Vitaly is offline
 
Join Date: Apr 2004
Location: Russia, St.Petersburg
Posts: 428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You'd better to read yahoo website optimization manuals.

In 2 words:

1. Browser allows only 2 parallel connections to each domain, and 8 total.
2. If you do mirrors for your images, it can download up to 8 images simultaniously
3. It's better to keep mirrors on separate domain, without cookies, to speed up requests

That can make some sence, ONLY if you have tons of thumbnails on each single page.

I did this feature for fun, and didn't meashured effect yet. Anyway, it's not as significant, as (direct links + proper cache headers for static files).

Quote:
Ps. how do i know if i have a NGINX websever lol sorry :x
If you ask such question, then 99% you don't have nginx
Reply With Quote
  #30  
Old 07-03-2010, 08:16 PM
Xencored Xencored is offline
 
Join Date: Sep 2008
Location: UK, Scuny
Posts: 1,337
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Vitaly View Post
You'd better to read yahoo website optimization manuals.

In 2 words:

1. Browser allows only 2 parallel connections to each domain
2. If you do mirrors for you images, it can download up to 8 images simultaniously
3. It's better to keep mirrors no separate domain, without cookies, to speed up requests

That can make some sence, ONLY if you have tons of thumbnails on each single page.

I did this feature for fun, and didn't meashured effect yet. Anyway, it's not as significant, as (direct links + proper cache headers for static files).
Thanks for that i dont use any mirrors so i can leave that blank

Quote:
Originally Posted by Vitaly View Post
If you ask such question, then 99% you don't have nginx
Guess not than

Thanks mate the speed on pages like >>This<< is tons better

Nomination!
Reply With Quote
  #31  
Old 07-04-2010, 07:01 AM
Vitaly's Avatar
Vitaly Vitaly is offline
 
Join Date: Apr 2004
Location: Russia, St.Petersburg
Posts: 428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Animemike View Post
Thanks mate the speed on pages like >>This<< is tons better
You also have to tune apache config. Remove ETAG headers, and add Expires (in next 7 days) headers instead for all static files.
Reply With Quote
Reply

Thread Tools

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:47 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.04731 seconds
  • Memory Usage 2,336KB
  • Queries Executed 26 (?)
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
  • (6)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (1)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (2)postbit_attachment
  • (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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete