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.

I am examining the possibilities and the hardware requirements of a server. The server will have a Java-based webapp running Tomcat 7.0 with MySQL database on Debian 6.0 (stable). This server needs to handle a minimum of 10 concurrent connections. However, mostly it will be much less than that; in other words, it will never have more than 50 connections at any given time yet most times it will be on average of 2 to 5 connections. The average user will spend about 30 to 60 minutes every time he or she users the services and about 20 to 40 times total in a year. Total number of yearly users will be about 60 and 80. However, there will be temporarily users, who will only use the the application once. The number of these users will be over 100.

The application will take input from the user, generate a PDF, and email it to the user. The user input includes: uploading images, text data, and other minor types of data (ints/booleans/...etc).

Is there any certain hardware requirements or optional? (e.g. required: 1 GB RAM, optional: 4 GB RAM) I would like to know the RAM required as well as the CPU speed and number of cores. Moreover, it would be great if you can specify other features.

share|improve this question
1  
The answer is VERY dependent on your application. Is it RAM-hungry? CPU-heavy? Disk-intensive? Some combination of the three? Are there network resources it's going to be accessing? etc. -- You need to profile the application (with your developers' or vendor's help) and then decide on the hardware needed to support it. –  voretaq7 Apr 6 '11 at 19:20
    
I have not finished coding the application, but I assume that it will require a lot of CPU and IO. CPU: because of the generation and handling of data input and export. IO: because of the generation of the PDF being saved to disk. However, the application will not keep PDFs on the server for periods longer than one year, so the hard disk will not be more than 50 GB. Also, it will use networking to serve users but that is a separate issue, that does not affect the server, as long as it is 100 Mbps over ethernet. –  Tamer Apr 6 '11 at 19:39
add comment

1 Answer

up vote 1 down vote accepted

It's impossible to give a specific answer base don the information you have given. You should run your app on a test server and see how much memory it uses because unless you do that you will just be guessing. if you are unable to test for some reason you may wish to consider some kind of VPS where you can scale he memory quickly.

If you do want to play guessing games I would say you will probably want 4Gb. with a guestimate of 64Mb per connection then 50 * 64Mb = 3Gb (just over). that's an absolute worst cast scenario as it's probably unlikely that 50 users all do a memory hungry operation at the same time. The price difference between a 2 and 4 Gb server will be minimal. If you go for a VPS you my have the option of burstable RAM which would suit you.

As far as other spec go I would not worry to much. you should however consider related services. Backups, managed OS updates etc.

share|improve this answer
    
Thank you very much. Very helpful and insightful. I will consider VPS and once I finish my application I will test and see. :) –  Tamer Apr 6 '11 at 19:43
    
I would just add at my work place there is someone running a commercial website that generates PDF's on a cheap shared hosting package. A sys admin noticed 150Gb+ of PDF's in his account as they were never being deleted.Most people overestimate there requirements (helped by commission based sales teams..) If your careful and don't tie in to a contract you should never take more than 24hour to move hosts. A nights downtime to expand when you know you need to is probably better than paying too much every month for years. –  ollybee Apr 6 '11 at 20:07
    
Cool! I will probably just host it at my server cause it looks like the cheapest option so far for the requirement/specifications I might need. Oh, well! –  Tamer Apr 6 '11 at 20:15
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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