A very common question regarding EE is the load that the CMS software can handle. Obviously, this depends on the server setup as well as the site design, but it might be helpful to report my own experience so that folks have an idea of one setup to use as a reference.
Server - DEDICATED Dual-Core intel 3 GHZ with 2GB Ram running Linux (this is a fairly typical setup from a few years ago).
Site - EE 1.70, Discussion forums - Site use is very heavily titled toward the Discussion Forum Module in my case, so this should be kept in mind. The Forums put a heavier load on the EE Software due to dozens of DB calls per page and quick page scrolling by many forum visitors.
Other Factors - site is NOT graphics heavy, however forum and other pages have advertisements on them, served by google or from my own server (PERL Scripts). Server has been generally tuned as to the resources given to MySQL and Apache, etc.
Server Load as per the top or other similar command - those with access to telnet programs can log into their server and note the server load. Please google server load and “top” Linux command for more information. As an example, my server load during a relatively middle load is as follows:
load average: 4.02, 4.78, 5.03
Since it is a dual-core CPU, these figures must be cut in 1/2 to mean much - which puts them in the range of 2-3, a range which will usually be very satisfactory as far as server speed and page load.
In my case, this particular server load correlates with approx. 5,000 pages of the site being loaded per hour. Again, we must keep in mind the heavy forum use and the older server! One “guesstimate” would be that an EE site with more “standard” pages and content and a newer version of mid-level dedicated hardware would be able to serve 4X as much traffic, which would be 20,000 pages per hour. With larger loads, or even with that load, one might consider using multiple servers and/or other methods (load balancing, Amazon cloud storage, etc.).
Hitting the Wall - Server load does NOT RISE PROPORTIONALLY IN EE. What this means is that if the server load is at 3 for 5,000 pages per hour, it will not be at 6 for 10,000 pages per hour! This is also dependent on various factors - if your site has a lot of members and/or a large number of database records (we have 800,000 forum posts, for example), these queries will take up more time!
Our server setup is hitting the wall at approx. 6,000 page views per hour, even though it works fine at 5,000. When the load gets higher than 6,000, we start to experience user complaints about the wait times and page load times over 5 seconds (and as long as 20 seconds). In fact, things tend to degrade so quickly from that point (6K+ per hour) that users will start leaving the site, therefore setting a cap on the load - of course, no one wants to send away visitors, so it’s time to optimize or change some things!
Note that peak traffic often only occurs for an hour or two each day - in our case, approx. 90,000 pageviews (mostly forum) in a day corresponds to the peak of 6000+ in the busiest hour, which is about 9PM Eastern TIme…and often on Monday!
In terms of EE visitor stats (above are google anayltics stats), this seems to correlate with approx. 550 total visitors (logged in and guests combined) shown on the site at one time. However, these stats are not exactly accurate as I think it shows a 10 or 15 minute period. Repeating again, this is for forum-heavy use, and an EE site which uses mostly regular pages would be able to handle a larger load with ease.
There are various server and EE optimization schemes discussed on the wiki and forum here, so I will not go into the technical aspects of these. However, when tracing down a problem your first action should be to load some of your pages into a browser with the Speed Tracer (google chrome) or similar extensions activated - this will tell you (or a technical friend of yours!) where potential problems may lie in your code and/or page layout. Speed optimization is a black art, and lots of little things can end up bogging down your server! Even the comments inserted into a page (PHP, PERL, EE, HTML) take up server CPU cycles! Loading external files such as style sheets and JS are also parts of the overhead - if you have a template which gets high use, you might consider including the CSS and JS into the template itself instead of calling it! Other slight improvements can be had by calling your css and js files and some images (banners, page headers, etc.) from the Amazon S3 service (very low cost for small files such as those).
The above should simply be considered as one experience. There are thousands of total variables which can have an effect on the actual and perceived speed of your EE installation. However, I hope it can give some of you the basic guidelines to keep in mind when designing for mid-level traffic sites…....
