My company runs its business on the Web, and we are redoing our primary site, which is community-based. Actually, we're pretty much creating a whole new site. Content has to be moved, and there's a dynamic aspect to that because the community is constantly adding more content. We want to use LAMP [Linux, Apache, MySQL, PHP/Perl/Python], but Linux is relatively new to us. The site now gets 50,000 hits a day, and we want that to increase twofold with the new site. What are some good options for redundancy, backups, etc.? Would a SUSE or Red Hat server OS be better, in terms of being fine-tuned better for a dynamic Web site and the company's LAMP stack offering and integration and support?
Accurate system sizing is never an easy thing to do, which is why there are experts in this field that make good money as sizing and capacity planning experts. One reason sizing is not usually done properly is because sufficient requirement details are not known up front. By knowing what you need, you are off to a great start. But before we figure out what the best solution is for you, we need to ask a few more questions.
You mention the hits per day but not how many static or dynamic pages are served per hit or what kind of files are out there. A web page being served by a client can have embedded objects within the page, and could have an equivalent of ten web objects or more. This is important information, as the content of static Web objects does not change between accesses and are therefore cacheable.
Let's talk computation cost. In terms of the CPU, the cost is dependent on the type of computation that is done. Are we just talking about simple Apache Modules and CGI functionality? Are there XML documents? Is there a back-end database and/or middleware requirements? You mention LAMP, which is a combination of web, database and middleware, but do not actually discuss any of the components outside of the web server. Consider these variables before proceeding with your upgrade.
So let's talk about what you may need. First and foremost: you can never have enough memory. Server performance degrades heavily when the system has insufficient memory. Generating dynamic content requires extra memory, so you'll need to determine the ratio of dynamic vs. static content. Serving static content can be (though it usually isn't) up to 100 times faster than dynamic content, particularly if your dynamic content is pulled from a database. Don't forget you need to report back the number of hits, files and pages that are sent back to the client.
There are many tools that help you size the capacity of your server. IBM provides web-based tools in the IBM System Workload Estimator. Using this tool, I made the following assumptions.
Here is what the system sized up for me:
I sized this based on a System p environment, a Linux system with the added benefit of being able to run AIX (IBM's version of Unix). You can also do the sizing on the System x (x86) server line. If I were you, I would use this tool and others like it to help size your environment. There are other resources on the web that should be able to help you size your environment, too.
Regarding SUSE or Red Hat, they are both more than capable of running any dynamic website/LAMP offerings. As companies that market to the enterprise, each is able to easily support these stable and well-known products, which have been running on Linux for as long as Linux has been around.
Good luck with your expansion!
Dig Deeper on Linux servers
Related Q&A from Kenneth Milberg
Learn which makes more sense for your enterprise: building your own cloud-based diagnostic tooling or purchasing an existing product. Expert Ken ... Continue Reading
Learn about Helm Charts and how Kubernetes supports a microservices architecture. Expert Ken Milberg discusses what you need to know before delving ... Continue Reading
As blockchain matures, an ecosystem of tools continues to sprout up around it. Learn how these offerings, including the Hyperledger Fabric Client SDK... Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.