Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Possible Duplicate:
Can you help me with my capacity planning?

My question is from a startup company providing a web application for the first time. It consists of an Oracle database (11G), an Apache web server, and a small Java middle tier, connecting to a front-end at the client. The user requests to see data, the application on the server retrieves data from the database, crunches math (c and java programs), and returns results to the user.

The math performed by the server can potentially use large arrays, that could occupy 1 to 6 GB of RAM (best to worst case). Each user's requests (for math crunching) are processed serially by the server to allow for worst-case RAM usage by one user.

Currently I have one dedicated server and was planning to put everything on there with like 8 GB of RAM. Does the security risks of putting a web server with the database warrant avoiding this at all cost?

The service is currently in development so there's no historical data yet. What's a good way to divide up the web server / database / application into multiple servers? Any rules of thumb or conventional wisdom? Is it unrealistic to try to place all in 1 server? If I got a 2nd server, which would go where? Is a VPS a good and inexpensive place to put a web server, and just scale it up as biz grows?

share|improve this question

marked as duplicate by Zoredache, EEAA, Ward, MDMarra, voretaq7 Aug 3 '12 at 5:36

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

2 Answers 2

up vote 0 down vote accepted

It really depends on the number of requests that your system will be processing. Scaling this solution would largely depend on the architecture of your application. Oracle by itself is a pretty monstrous resource monger, so separating database would seem like a logical first step. Apache webserver can be later separated from the middle-tier, if its only purpose is to serve the web-requests.

VPS or not depends again on the solution you're trying to provide. Without having more details on the application architecture, most of the recommendations would be shooting in the dark.

share|improve this answer

Let me try to tackle your questions in the order:

What's a good way to divide up the web server / database / application into multiple servers?-> Since not much data to go by here(regarding traffic, number of requests) but if your application can consume upto 6GB of RAM, then you might be better off separating all functions on different servers(virtual or physical).

Any rules of thumb or conventional wisdom? -> For a security paranoid, convention wisdom is separate networks for webserver(preferably in DMZ) and oracle server.

Is it unrealistic to try to place all in 1 server?-> Not unrealistic. You can start here if you are not too worried about security.

If I got a 2nd server, which would go where? -> I would say database.

Is a VPS a good and inexpensive place to put a web server, and just scale it up as biz grows? -> I would start small and make sure infrastructure is available when needed and as more data becomes available.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.