Can someone help me with the best configuration recommended for hosting a ruby on rails application?
Basically i require the following infos ( i am planning to use windows 2003 server )
1> Server hardware configuration? 2> Rails stable production version 3> Version of apache 4> Number of Mongrel clusters?
is there any limitation on number of mongrel clusters we can have running in an application?
do we have any open source tool for doing performance/load testing for RoR apps.
Thanks a lot.
The application is an online bookstore, i have abt 2 million books in the database, the books are mostly technical in nature, i mean i will be concentrating on students and tech. professionals as users. I am more concerned abt the speed of the application,The database is huge and i will be running a lot of automated backend processes like books price calculation ect... at regular intervals say once in every fortnight.
If you need more info abt the app please feel free to ask.
What type of machine is it?
I recommend against using Windows 2003 Server. Can you install Linux(i personally like CentOS) over it?
Thanks for your reply Tommy , Is there any performance advantage of using Linux over Windows 2003 ?
Also would like to get help on mongrel cluster limitation , is there an physical/theoretical constraint exist on the number of mongrel cluster we can have for a application or to put it in other way, what factors decides the number of mongrel cluster for an application?
(Sorry i am a newbie in server configuration / app deployment , so any reply will be highly appreciated )
instead of windows server 2003, the linux server will be more advantageous as, 1. Most of the libraries are available for linux(video/audio conversions) 2. The linux systems are less pron to virus attacks and said to be more secured 3. There are number of tools available for deployment on linux for example
3.1 Capistrano (www.capify.org) 3.2 Cruise control (http://cruisecontrol.sourceforge.net)
Please refer them or feel free to ask further... saurabh(dot)purnaye(at)gmail(dot)com
I have to agree with saurabh. I'm a Windows/MSSQL admin and I tried to get something reliable going on a Windows server... too many headaches and I wasn't comfortable. I wanted to sleep through the night. It was painful learning Linux, Apache, nginx, Mongrel, monit, Capistrano, Ruby, Rails, etc. etc. etc. all at once to get the site deployed but there is more on the internet to help you along with all of this.
But I'll be honest. For Windows folks, the first few weeks of all this is I.T. hell! But like everything it gets easier.
I'm running Centos 4 on very nice Dell servers with nginx/mongrel clusters and MySQL on it's own nice Dell server, all with loads of RAM (16gb each). Performance is awesome of course. I can't say if there is a performance difference as I have not much basis for comparison. Though MySQL impresses me compared to the behemoth that is MSSQL.
It is true that most Windows Platform makes IT a hell of time wasted for configuring an open source inside of it specially on vulnerabilities.
I myself setup up my x86 with linux box(CentOS 4.6) on my test machine and it is so cool. Hoping this will be my start as an open source advocate real time.....
I would recommend Linux-Based Server particularly (Cent-OS). Try installing the server with GUI on it so that you will be comfortable in administration. But it's best to put the server in non-GUI mode. Helps optimize the performance of your server. Check on the RubyOnRails website for more info for setting up your server.
BTW I have all production and development servers running in Cent-OS. No issues whatsoever.
FYI: there are more gem support for LINUX based system one good example is Rmagick
I'll add that after running only Windows servers in my network for many years, I've now seen CentOS 4.5 running excellently for over a year. I'm very impressed at it's reliability and performance. Of course, I have to have the GUI even though I use the command line now most often. It just feels like a real OS with a GUI. Old habits die hard... :)