ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

EE scalability

August 29, 2007 6:44am

Subscribe [4]
  • #1 / Aug 29, 2007 6:44am

    passoir

    1 posts

    Could you please explain how EE supports scalability of the site? How to manage to distribute and balance load by adding additional servers, etc? Is it possible to deploy memcache for EE or is it necessarily? Also, do you have any empirical data to show what kind of load EE can handle on a typical dedicated server (any cpu and memory combination), any problem with digg effect?

    Thanks.

    Bill

  • #2 / Aug 29, 2007 10:57am

    Robin Sowell

    13255 posts

    There’s nothing inherent in EE that needs to be tweaked to run on load balanced servers.  If you have a top notch server guru who can set things up to run a dynamic site, EE will be a happy camper and require no tweaks on that end.  A lot of the big sites run on load balanced servers- EngineHosting is a pro at this.

    Nevin is the EngineHosting server guru- here’s a nice reply from him on the topic of load balanced servers.  But like I say- setting up the servers is largely a separate matter from EE.  As long as the server setup meets EE’s requirements, how it’s done won’t matter to the script.  Of course, a setup not conducive to running a dynamic site won’t perform well, but that won’t be specific to EE.

    There are ways to setup EE so it’s as lean as possible- always a good idea.  The wiki has a section on optimizing EE- things ranging from ‘a good idea as standard practice’ (ex: using the disable parameter) to the more extreme things you can try if your site is struggling (ex. turn off stats).

  • #3 / Aug 29, 2007 1:26pm

    passoir

    1 posts

    Thanks very much for the quick reply.

    If EE is installed on multiple web servers, do you require to purchase EE license for each server? What if it is installed on central storage but run on two web servers?

    Is the enterprise version any different from the core version in terms of caching and scalability support internally? Or the difference is only in additional functional modules? Does your license allow your code to be modified?

    Does anyone have experience in trying out memcache with EE, or is it possible?
    Can Nevin share some info on their system setup and how much load it can handle? Especially, what kind of hardware setup is needed to handle 1 million page views a day and how many licenses are required?

  • #4 / Aug 29, 2007 2:33pm

    BlackHelix

    226 posts

    Okay, I don’t know all these answers.  But as I understand it, the license is tied to a domain, not to the amount of boxes required to run that domain.  So, I’m at Enginehosting.  I haven’t the faintest idea how many boxes they are running my site on, but I only have the one license for my site.  So that’s not a concern.  You could most certainly have a db server and two web servers, as long as they are all serving up one site, for the most part.

    The Commercial version and EE core—as far as I know, the primary differences are additional functional modules, along with the license requirements.  The license lets you do what you want with the code, but you can’t redistribute/sell/etc etc….  so it’s open to modify as you choose (just beware of updates and bug fixes borking your modifications). 

    No clue on memcache or other really large scale systems, but I’m sure that it’s only one license, even if it’s hammering a million hits a day.  Even if you only need what core provides, though, with that kind of traffic, I would strongly recommend springing for the commercial license, just to gain access to the best tech support around.  I have heard, anecdoctally, that there’s several EE run sites that have that kind of traffic, and they seem to function quite well.

  • #5 / Aug 29, 2007 3:39pm

    Leslie Camacho

    1340 posts

    Thanks very much for the quick reply.

    If EE is installed on multiple web servers, do you require to purchase EE license for each server? What if it is installed on central storage but run on two web servers?

    You need a license per installation.

    Is the enterprise version any different from the core version in terms of caching and scalability support internally? Or the difference is only in additional functional modules? Does your license allow your code to be modified?

    There is no “enterprise” version. There are Core, Personal, and Commercial licenses. At the system level, they are the same code. The Personal/Commercial versions have more features but they are the same “engine”. Yes, you can modify the code. Please see the Developers section for details.

    Does anyone have experience in trying out memcache with EE, or is it possible?
    Can Nevin share some info on their system setup and how much load it can handle? Especially, what kind of hardware setup is needed to handle 1 million page views a day and how many licenses are required?

    There is no good way to answer the above question. The hardware will vary drastically depending on the specifics of the site. My recommendation is that if you’re going to be running a high-traffic site make sure you have a server admin who understands how to configure and serve dynamic web-pages and knows his/her way around mysql. EE scales quite well, just like any other high-quality php/mysql application will. But a well written application does not replace the need for a server admin who knows what they are doing.

  • #6 / Aug 29, 2007 3:57pm

    Nevin Lyne

    370 posts

    [Edit] Les seems to have beaten me to my post so see his notes above 😉

    If EE is installed on multiple web servers, do you require to purchase EE license for each server? What if it is installed on central storage but run on two web servers?

    Les will have to chime in here, but EE’s license is per install.  If you are using a central storage system (best idea), to feed your load-balanced web servers then there is only a single copy of EE, but there are multiple web servers accessing the files.  You would also only be running off of a single EE database.

    Is the enterprise version any different from the core version in terms of caching and scalability support internally? Or the difference is only in additional functional modules? Does your license allow your code to be modified?

    I will let Les field this one as well.  But no there is no code base differences, but if you are getting that much traffic to a site, buy a commercial license.

    Does anyone have experience in trying out memcache with EE, or is it possible?

    I have not seen a site in need of putting into place, and actually know a lot of people running extremely busy EE and non-EE sites without it.  Unless you are running into a specific performance issue its highly recommended to keep things simple before you throw added layers of complexity into a setup if you are not even sure you need it yet.

    Can Nevin share some info on their system setup and how much load it can handle? Especially, what kind of hardware setup is needed to handle 1 million page views a day and how many licenses are required?

    Not directly.  This is going to vary greatly depending on each site.  The flexibility of EE, along with the possibility of people also using their own php directly within EE templates adds an unknown factor.  Without actually analyzing specific needs by seeing resource usage of a site, this is would be sheer guessing, and likely not overly accurate. 

    Much of what we do at EngineHosting is based on years of experience in understanding and identifying performance specific needs, but you need much more information than how many page views, to come to a conclusion.

    Highly recommended you either have your own experience server admin/staff experienced in handling the server needs of highly dynamic and busy web sites, or contract hosting out to someplace that can assist with your needs.

    1 million EE page views per day with a very simply template structure with no 3rd party plugins/modules/etc. is going to be vastly different then the same if you have a very complex template set, large amounts of content, custom php, etc.  If you run into bottlenecks I would actually highly recommend talking to some of the more experienced EE developers about reviewing template design bottlenecks before you throw hardware or 3rd party caching systems into place as simple changes in how you code could lead to dramatic savings in rendering overhead.

  • #7 / Aug 29, 2007 4:03pm

    Nevin Lyne

    370 posts

    Could you please explain how EE supports scalability of the site? How to manage to distribute and balance load by adding additional servers, etc?

    Ideally you would use something like hardware load-balancers from someplace like F5 Networks, and either a high performance NFS file server behind the scenes (I personally like Network Appliance Filers), or something like Fiber Channel or iSCSI storage systems using a distributed file system.  Technically any well configured general purpose OS can be setup as good NFS storage system.

    any problem with digg effect?

    This again is going to have a lot more to do with your site, your specific server resources, and honestly how wide of an audience your digg listing is.  I have seen front page digg listings have vastly lower actual click-through rates from Digg then other stories, not all digg listings = the digg effect.

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases