Results 1 to 11 of 11
  1. #1
    Join Date
    Mar 2005
    Posts
    43

    Using a Big Server for a busy website. Scalability options for growing traffic?

    Hello all,

    We're currently using the most powerful CPUs WiredTree has to offer for our vBulletin website.

    Dual Xeon E5-2650
    Intel 520 SSDs on Raid 10
    32 GB RAM

    The box has served us well for a while now. However, our traffic is growing and we've noticed the server running out of juice during peak hours.

    Considering future growth, we're at the crossroads and would much appreciate your advice on how to scale up for the increasing traffic.

    • Separate web & db server : Not too keen on this. We had this setup earlier and it led to an overworked web server and an under-utilized db server.

    • Adding a second server and load balancing the two :Pros & cons? Is it recommended for a busy forum like ours which is updated every minute?

    • Using a CDN :Page loading times, especially since our threads are picture heavy, will improve. Question is, would adopting a CDN for our images significantly reduce the load on our existing web server?

    • Wait for newer, more powerful CPUs :From WiredTree.

    What's your pick & why?

    Thank you!

  2. #2
    Join Date
    Oct 2006
    Location
    US/EU/UK
    Posts
    4,886
    Quote Originally Posted by RushabhParekh View Post
    • Separate web & db server : Not too keen on this. We had this setup earlier and it led to an overworked web server and an under-utilized db server.

    • Using a CDN :Page loading times, especially since our threads are picture heavy, will improve. Question is, would adopting a CDN for our images significantly reduce the load on our existing web server?
    Out customers usually choose one of the above scenarios. I think you'd try a CDN first. It is important to upgrade the hardware setup when you need more computing resources. However a CDN would also lower the RTT for your website visitors while lowering the load on the host server.
    HostColor.com Edge Infrastructure - US Dedicated Servers & Europe Dedicated Hostingsince 2000
    In 50 U.S. Edge Data Centers & 80 POPs worldwide
    24/7 Support ★★ Support Tickets - LiveChat - Phone

  3. #3
    Join Date
    Jan 2014
    Location
    Fort Lauderdale
    Posts
    362
    A couple of quick hits-

    I would not separate the DB and Web unless you have to, and only if they were like right next to each other.

    PHP Handler - Which one are you using currently and maybe look into comparing it against PHP-FPM.

    Cache - Many people use APC. I have been using Opcache as it is available for PHP 5.4, and comes standard in PHP 5.5 (whenever it becomes a good idea to switch)

    Reverse proxy Nginx to Apache (much more efficient than apache, not as nice on rewrite rules of custom .htaccess stuff) or add Varnish in front of Apache.

    Run mysqltuner on DB - I say this with a word of caution. The tool does a great job making recommendations on how you can maximize performance. It does not however tell you how adjustments may affect the applications you are using. If you are unsure or uncomfortable with its recommendations, you could post here or hire someone.

    Consider switching to MariaDB - has proven to be able to handle higher loads significantly better than MySQL. Is also a drop in replacement.
    Michael Vinocur
    Enterprise IT Solutions
    Helix Technologies LLC
    http://www.hlxtechnologies.com

  4. #4
    I would try what Helix said first as well. A number of those steps will help you and may even find you dont need to upgrade yet and you just had a server that just needed to be configured better. I also suggest the CDN, there is no reason not to be using one. Give CloudFlare a shot and you should see a fair amount of improvement.

    Also, what is your IOwait? I am sure its probably good but are you using software or hardware raid and if hardware what raid card are you using?
    SolaDrive - Enterprise Managed Server Solutions
    Specializing in Managed NVMe VPS & Dedicated Servers in US & UK
    Visit us at SolaDrive.com

  5. #5
    RushabhParekh,

    Essentially what you want to do is the following.

    You need to create a horizontally scalable environment and separate out the different layers.

    Whether virtual or physical the same concepts apply.

    high level conceptual diagram included below

    [lb]--vip-[lb] - lb proxy web requests to cache farm then to web farm and mysql internal to cluster
    [cache][cache] - ideally a varnish caching server or equivelent
    [www][www][www] - x number of web farm nodes
    [db]<->[db]<->[db] - clustered mysql - I recommend Clustrix

    your going to want to have a high availability load balancer in place running either active/passive vip or active/active vip. I recommend HAProxy we've setup many clients with this and it's light weight and highly customizable. This will proxy your requests against either a cache farm/web farm or just a webfarm. The proxy will also be used to proxy requests to your db cluster to maximize the db layer.

    What this does is let you scale horizontally by just adding nodes to the different layers. The goal is to eliminate costly io either disk or compute as much as possible.

    If you would like a more indepth explanation let me know.
    PCLHS | SAS70 Datacenters in New Jersey/Texas
    100TB Dedicated Servers 1U - Full Cab Colocation Complex Hosting Horizontally Scalable Hosting DR/HA Hosting Public and Private Clouds Web Farms Innovative, Reliable, and Responsive
    Contact Us E: mark [at] pclhs.net | W: www.pclhs.net

  6. #6
    Join Date
    Mar 2005
    Posts
    43
    Quote Originally Posted by HostColor View Post
    I think you'd try a CDN first.
    Thanks HostColor!

    Quote Originally Posted by helix247 View Post
    Cache - Many people use APC. I have been using Opcache as it is available for PHP 5.4, and comes standard in PHP 5.5 (whenever it becomes a good idea to switch)

    Reverse proxy Nginx to Apache (much more efficient than apache, not as nice on rewrite rules of custom .htaccess stuff) or add Varnish in front of Apache.

    Run mysqltuner on DB - I say this with a word of caution.

    Consider switching to MariaDB - has proven to be able to handle higher loads significantly better than MySQL. Is also a drop in replacement.
    Thanks for the advice, helix247

    Quote Originally Posted by SolaDrive - John View Post
    I also suggest the CDN, there is no reason not to be using one. Give CloudFlare a shot and you should see a fair amount of improvement.
    Thanks John, appreciate the advice.

    if hardware what raid card are you using?
    Adaptec 6405

    Quote Originally Posted by pclhosting View Post
    You need to create a horizontally scalable environment and separate out the different layers.

    What this does is let you scale horizontally by just adding nodes to the different layers. The goal is to eliminate costly io either disk or compute as much as possible.
    Thanks pclhosting.

  7. #7
    Join Date
    Jul 2011
    Location
    ATL,DFW,PHX,LAX,CHI,NJ
    Posts
    700
    CDN will help you spread the load of loading images CSS and other cached files reducing the number of direct hits on the server itself. Likely the cheapest option to try first as well.
    █ Total Server Solutions
    OnApp Cloud Solutions, CDN, DNS, Load Balancers, and Hybrid Dedicated Servers
    █ Colocation with Colo@
    Visit us at http://www.totalserversolutions.com/

  8. #8
    Join Date
    Sep 2005
    Location
    Albany, NY
    Posts
    3,956
    I would recommend to have WiredTree give you some options and advice. They can check your server directly and see where the actual bottleneck is. While our recommendations are good in a general sense, it's best to get this type of information straight from the source.
    AYKsolutions.com - High Bandwidth Specialists - 10Gbps/20Gbps+ Unmetered & DDOS Protected
    Over 20+ Global Locations - Asia (Hong Kong, Singapore, Tokyo), Mexico, Brazil, India, Australia, US, CA, EU - Bare Metal and Virtual Cloud. All Managed.
    We are Professional. Painless. Polite.

  9. #9
    Join Date
    Mar 2005
    Posts
    43
    Quote Originally Posted by FRCorey View Post
    CDN will help you spread the load of loading images CSS and other cached files reducing the number of direct hits on the server itself. Likely the cheapest option to try first as well.
    Thank you, FRCorey. Appreciate your stopping by & advice.

    Quote Originally Posted by ayksolutions View Post
    I would recommend to have WiredTree give you some options and advice.
    Thanks ayksolutions. James from WiredTree has been auditing our server and he's made some great recommendations

  10. #10
    Join Date
    Feb 2003
    Posts
    1,162
    Just curious, how many active online users do you have using the vB's default 15 min time window? (or if you have changed it, what's the corresponding number?)Approximately how many posts a day?

    Asking this because your server is quite powerful as is, and *properly optimized* web server/php/mysql running on it should be able to handle quite a large number of users. I mean, many years ago, the usual servers that most people can afford are no where as fast as what you have now (and their disk IO's are like a tiny fraction of your Raid 10 SSD), yet there are many busy forums running just fine on them.

    Software is a critical factor when it comes to site scalability with limited hardware resources. Spending lots of effort and finding the right person to optimize your server/scripts can make a huge difference, but it can take lots of trial and error. The big and rich guys would often just throw in more servers/clusters/clouds etc.

    I haven't followed WHT in a long time. But I remember back in the days people were talking about how many fancy servers WHT was being hosted on, at Rackspace I think, and the site was still quite laggy during busy hours. The thing is, the number of users online, despite being high compared to your average forum, wasn't really earthshaking by any means. I personally knew (and managed) Chinese forums around that time with equal or way more simultaneous users, that were running on standard mid-range single servers just fine. Just an example here.

  11. #11
    Join Date
    Sep 2005
    Location
    Albany, NY
    Posts
    3,956
    Quote Originally Posted by RushabhParekh View Post
    Thank you, FRCorey. Appreciate your stopping by & advice.



    Thanks ayksolutions. James from WiredTree has been auditing our server and he's made some great recommendations
    Good to hear. I think this is the best path to take and I hope they are able to work this out for you.
    AYKsolutions.com - High Bandwidth Specialists - 10Gbps/20Gbps+ Unmetered & DDOS Protected
    Over 20+ Global Locations - Asia (Hong Kong, Singapore, Tokyo), Mexico, Brazil, India, Australia, US, CA, EU - Bare Metal and Virtual Cloud. All Managed.
    We are Professional. Painless. Polite.

Similar Threads

  1. Replies: 0
    Last Post: 10-03-2013, 09:27 PM
  2. Lighttpd VS Apache: Who is better option for BIG and Busy and heavy joomla website
    By sumi in forum Hosting Software and Control Panels
    Replies: 9
    Last Post: 11-20-2010, 01:21 PM
  3. Hosting advice needed for busy & growing website
    By lumpysimon in forum Web Hosting
    Replies: 6
    Last Post: 12-17-2008, 12:17 PM
  4. Need Suggestions for BIG Scalability
    By danman7 in forum Dedicated Server
    Replies: 11
    Last Post: 11-19-2008, 07:48 PM
  5. Replies: 7
    Last Post: 04-23-2005, 08:01 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •