vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Forum and Server Management (https://vborg.vbsupport.ru/forumdisplay.php?f=232)
-   -   Emergency Server Load Reduction. (https://vborg.vbsupport.ru/showthread.php?t=271408)

Contra Fates 10-05-2011 01:46 AM

Emergency Server Load Reduction.
 
I'm an Admin of a big board with close to 5 million posts, and about 1400 members online a day. The forum is hosted on a VPS that was able to fit our needs until recently, and while we are making the shift to a dedicated server, it won't get done for another week, and I'm looking for quick things I can do through the Admin CP that may alleviate the server load. Like clockwork during peak hours, the server's load is anywhere from 10-19, and is unusable during those times.

We disabled VBSEO to try and alleviate server load, followed the instructions on multiple 'how to reduce server load' threads, and use VB Optimise, but it's only helped things temporarily.

We've recently disabled the ability for guests to view the forum, and will also be temporarily closing a few of the non vital forums on the board.

Any proven suggestions to temporarily alleviate our server issues until we can make the switch will be greatly appreciated.

Marco64Th 10-05-2011 07:26 AM

Maybe a bit drastic but it sometimes did wonders for me when a server was under attack, is to place a .htaccess login on the main directory. You can simply list the user/pass in the login prompt, but that will remove all bots and other unwanted visitors.

Also disable any hotlinking and/or RSS feeds.

Mooff 10-05-2011 07:49 AM

Really drastic way:
Use a very lightweight mobile style which doesn't show avatars, signatures and almost all images as the default style for all users.
(we used a 58k style when we had our spam-friday, a day where we removed the posting limitations for 10minutes and encouraged our users to give it a shot, once we grew bigger it crashed our server everytime, so we had to stop doing that :D )
Anyway for vb4:
https://vborg.vbsupport.ru/showthread.php?t=249277
Idea is to reduce the http requests (pictures and javascript) and send less data, so even under massive server load the forum would still manage to load in a reasonable time.

Another way to reduce http requests is our sprites addon:
https://vborg.vbsupport.ru/showthread.php?t=266696


Cheers

Contra Fates 10-05-2011 04:56 PM

Quote:

Originally Posted by Marco64Th (Post 2253440)
Maybe a bit drastic but it sometimes did wonders for me when a server was under attack, is to place a .htaccess login on the main directory. You can simply list the user/pass in the login prompt, but that will remove all bots and other unwanted visitors.

Also disable any hotlinking and/or RSS feeds.

I can't do the first suggestion, because I only have access to the ACP, no direct root access. I'll look into the other ideas, though.

Quote:

Originally Posted by Mooff (Post 2253489)
Really drastic way:
Use a very lightweight mobile style which doesn't show avatars, signatures and almost all images as the default style for all users.
(we used a 58k style when we had our spam-friday, a day where we removed the posting limitations for 10minutes and encouraged our users to give it a shot, once we grew bigger it crashed our server everytime, so we had to stop doing that :D )
Anyway for vb4:
https://vborg.vbsupport.ru/showthread.php?t=249277
Idea is to reduce the http requests (pictures and javascript) and send less data, so even under massive server load the forum would still manage to load in a reasonable time.

Another way to reduce http requests is our sprites addon:
https://vborg.vbsupport.ru/showthread.php?t=266696


Cheers

Oh my, that would be a bit drastic. I don't have VB4, though, I'm using VB3.8. =/

Any other ideas that would be for VB3, and able to be done through just the Admin CP would be greatly appreciated.

souperman 10-06-2011 08:15 AM

why would you put that big of a forum on a vps?

Anyways, disable who is online, birthdays, and lower the forumdisplay results.

Also, changing the skin won't help much...the real issue is the queries being perform. Though you can also use nginix if you are truly have a lot of http requests.

Mooff 10-06-2011 09:56 AM

The real issue is his server beeing to small for the board - which he does know. ;)

And yes an apache can be really demanding and nginx is the far better choice, but nginx isn't an option if he doesn't has root access and is going to move in a week anyway.

Options in the acp - you could disable the search function i guess.

Contra Fates 10-06-2011 03:38 PM

Quote:

Originally Posted by souperman (Post 2253870)
why would you put that big of a forum on a vps?

Anyways, disable who is online, birthdays, and lower the forumdisplay results.

Also, changing the skin won't help much...the real issue is the queries being perform. Though you can also use nginix if you are truly have a lot of http requests.

Not my doing for the VPS, I'm not the one in charge, just helping out as Admin. Though, it was handling the database just fine up until the last month or so, we'd keep getting hang ups and the server load could sky rocket, and it'd be brought down to its knees during the daily backups.

I'll disable the Who is Online bit, but the other suggestions are done already.

Quote:

Originally Posted by Mooff (Post 2253887)
The real issue is his server beeing to small for the board - which he does know. ;)

And yes an apache can be really demanding and nginx is the far better choice, but nginx isn't an option if he doesn't has root access and is going to move in a week anyway.

Options in the acp - you could disable the search function i guess.

I'll look into selectively disabling the search function, perhaps removing it from some of the more active forums.

Also, while it doesn't make a difference, I'm female, haha. Thanks for the suggestions. =)

CarlitoBrigante 10-07-2011 04:00 AM

The search function is the absolute first thing you need to limit/disable if you cannot do other server side changes.

Simon Lloyd 10-09-2011 06:27 PM

Spiders from china...etc cause a huge load, i dropped mine drastically by blocking them, here's something i created to do that https://vborg.vbsupport.ru/showthread.php?t=268208 thats the vb4 version but there is a vb3 version too, try it, block the chinese bots like:
baidu
soso
sogou
yeti
yandex
omgili
Youdao
psbot
speedy
spinn3r
ichiro

To name a few :), within 30 minutes you should see the load on your server drop.

Reinier324 10-10-2011 02:24 PM

What about Cloudflare?
Prevents against bots, zombies, and increases the performance.

I have a small forum but it reduced:
884.7 MB bandwidth saved by CloudFlare
3.8 GB total bandwidth

cloudflare.com

souperman 10-12-2011 05:45 AM

Honestly, those stats at cloudflare are misleading. You're not saving as much bandwidth as they claim you are. Also, they're uptime has been just horrible, or to be more specific, their performance. They're uptime is reasonable, but their servers are constantly under ddos attacks and are just too slow at times. I had better results just installing varnish, does pretty much the same thing.

Simon Lloyd 10-12-2011 05:58 AM

You'll find that mod i posted WILL save you tons of bandwidth as all the users can testify to :)

Alfa1 10-12-2011 07:48 AM

Consider litespeed. Its a paid solution but its much faster than apache and lets you use all apache software like directadmin / cpanel like before. It has a cache system comparable to Varnish. Im moving to it when my new cloud hardware comes in. Nginx is is more difficult to maintain.

Another thing to consider is Bad behavior, which will reject user agents from bad bots. I had very good results with that. It also bans bots by user agent, but also anything thats on the long blacklist.

I dont think that 1 new server will be enough for you. Especially not on apache.

souperman 10-12-2011 06:30 PM

Adding a script to block bots will increase the server load, the issue here is not with bandwidth, but with the server load. The op doesn't have server access I don't think. One way to decrease the server load in vb is to reschedule cron jobs around your peak hour(s).

nhawk 10-12-2011 08:43 PM

I'm not sure what can be done on a VPS but look into mod_evasive for Apache2 and fail2ban.

mod_evasive will throw a 403 error page if someone is banging at the server. With a custom rule, fail2ban can then detect if the 403 page has been sent x times and ban the IP from the server for x amount time via iptables.

Used together you would be surprised how many "bad bots" get killed from banging away at a server.

sivaganeshk 10-14-2011 05:43 PM

Did u try to CDN for images , css, js files ?

prandah 11-01-2011 08:52 AM

try cdn
whats your control panel ?


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

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01209 seconds
  • Memory Usage 1,759KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (17)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete