# Mongrel - good enough?

**URL:** <https://www.ruby-forum.com/t/mongrel-good-enough/62964>\
**Category:** Rails\
**Created:** [June 9, 2006, 11:02pm UTC](https://www.ruby-forum.com/t/mongrel-good-enough/62964 "2006-06-09T23:02:23Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Roy\_Jenkins](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8491ac/32.png) [@Roy\_Jenkins](https://www.ruby-forum.com/u/Roy_Jenkins)\
**Post date:** [June 9, 2006, 11:02pm UTC](https://www.ruby-forum.com/t/mongrel-good-enough/62964/1 "2006-06-09T23:02:23Z")

</div>

I want to deploy RoR site’s (Intranet) for small offices/businesses that  
will get light traffic (estimating at max about 40 hits per minute at  
peak times). Lots of AJAX going on more than anything (update checks to  
the DB - Postgresql). I’d rather not use Lighttd, Apache, etc. as I  
want to have a streamlined install that is very easy for the end users.  
The catch is I expect large uploads/downloads (10,20,etc. meg in size)  
of documents (5-10 uploads per day, 70 or so downloads per day).

So this begs the question: Is Mongrel going to be able to handle this?  
Anyone have any experience working with Mongrel?

---

<div class="post-metadata">

**Author:** ![Roy\_Jenkins](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8491ac/32.png) [@Roy\_Jenkins](https://www.ruby-forum.com/u/Roy_Jenkins)\
**Post date:** [June 9, 2006, 11:13pm UTC](https://www.ruby-forum.com/t/mongrel-good-enough/62964/2 "2006-06-09T23:13:16Z")

</div>

Roy Jenkins wrote:

> I want to deploy RoR site’s (Intranet) for small offices/businesses that  
> will get light traffic (estimating at max about 40 hits per minute at  
> peak times). Lots of AJAX going on more than anything (update checks to  
> the DB - Postgresql). I’d rather not use Lighttd, Apache, etc. as I  
> want to have a streamlined install that is very easy for the end users.  
> The catch is I expect large uploads/downloads (10,20,etc. meg in size)  
> of documents (5-10 uploads per day, 70 or so downloads per day).
> 
> So this begs the question: Is Mongrel going to be able to handle this?  
> Anyone have any experience working with Mongrel?

Pure Ruby is probably going to be able to handle this. Although, if you  
put  
mongrel on a 486 with 16 MB of Ram you might get in trouble 😉

-Sascha E.

---

<div class="post-metadata">

**Author:** ![Roy\_Jenkins](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8491ac/32.png) [@Roy\_Jenkins](https://www.ruby-forum.com/u/Roy_Jenkins)\
**Post date:** [June 9, 2006, 11:24pm UTC](https://www.ruby-forum.com/t/mongrel-good-enough/62964/3 "2006-06-09T23:24:57Z")

</div>

Sascha E. wrote:

> Pure Ruby is probably going to be able to handle this. Although, if you  
> put  
> mongrel on a 486 with 16 MB of Ram you might get in trouble 😉

Ideally I’d like to setup for the client the app on a Linode or  
Rimuhosting Fedora system and at least around 80+ meg of dedicated ram,  
running Postgresql, but also capable of SQLite for the smaller offices  
that don’t need the horsepower. I know that some clients will want to  
run this locally on their intranet, and that I don’t have a lot of  
control over where they deploy it. I had one client who ran one of my  
web apps on a local workstation actively used by an employee and it  
hosted not only the web app but also Apache and MySQL. Everyone in the  
office (15 or so people) connects to it throughout the day. It actually  
worked pretty good, now however its deployed to a real web server.

---

<div class="post-metadata">

**Author:** ![Roy\_Jenkins](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8491ac/32.png) [@Roy\_Jenkins](https://www.ruby-forum.com/u/Roy_Jenkins)\
**Post date:** [June 10, 2006, 12:14am UTC](https://www.ruby-forum.com/t/mongrel-good-enough/62964/4 "2006-06-10T00:14:35Z")

</div>

On Fri, 2006-06-09 at 23:24 +0200, Roy Jenkins wrote:

> control over where they deploy it. I had one client who ran one of my  
> web apps on a local workstation actively used by an employee and it  
> hosted not only the web app but also Apache and MySQL. Everyone in the  
> office (15 or so people) connects to it throughout the day. It actually  
> worked pretty good, now however its deployed to a real web server.

Mongrel can do this with some caveats:

- Use the pre-release, it’s got much better giant file handling. Use  
gem install mongrel --source=[http://mongrel.rubyforge.org/releases/](http://mongrel.rubyforge.org/releases/)
- More ram. Postgres and Mongrel itself will take up more than 80.
- Don’t use Windows. Too much pain to support. If you’re letting  
folks install at the intranet then design a fixed non-win32 platform and  
your own rubygems repo for them to install from. Look at Mongrel  
Rakefile to see how to generate a gem source for people to download.
- Consider using mongrel\_cluster combined with virtual hosts to  
accomplish the same thing. You’d be surprised how many little virtual  
sites a well done single rails application with a reasonable pool of  
Mongrel handlers can support.
- SQLite will bomb with more than one Mongrel process accessing the  
same database file with both 2 and 3 versions of sqlite. Use sqlite if  
the install is tiny and one Mongrel server can handle it.

Good luck.

–  
Zed A. Shaw

> **[Zed A. shaw](https://zedshaw.com/)**
>
> Personal essays and writings by Zed A. Shaw.

[http://mongrel.rubyforge.org/](http://mongrel.rubyforge.org/)

---

<div class="post-metadata">

**Author:** ![Roy\_Jenkins](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8491ac/32.png) [@Roy\_Jenkins](https://www.ruby-forum.com/u/Roy_Jenkins)\
**Post date:** [June 13, 2006, 12:22am UTC](https://www.ruby-forum.com/t/mongrel-good-enough/62964/5 "2006-06-13T00:22:31Z")

</div>

On Mon, 2006-06-12 at 22:16 +0200, Roy Jenkins wrote:

> use  
> the clustering without much fuss at all, plus wrap this into a gem  
> and  
> forget about it.
> 
> Thanks for the info.

Yep, that’ll work, but you can’t do that with sqlite. If you’re looking  
for no-fuss installs then it’s either sqlite or kirby base. I have no  
idea if kirby base can handle multiple processes accessing the database.

–  
Zed A. Shaw

> **[Zed A. shaw](https://zedshaw.com/)**
>
> Personal essays and writings by Zed A. Shaw.

[http://mongrel.rubyforge.org/](http://mongrel.rubyforge.org/)

---

<div class="post-metadata">

**Author:** ![Roy\_Jenkins](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8491ac/32.png) [@Roy\_Jenkins](https://www.ruby-forum.com/u/Roy_Jenkins)\
**Post date:** [June 12, 2006, 10:16pm UTC](https://www.ruby-forum.com/t/mongrel-good-enough/62964/6 "2006-06-12T22:16:34Z")

</div>

Zed S. wrote:

> - Use the pre-release, it’s got much better giant file handling. Use  
> gem install mongrel --source=http://mongrel.rubyforge.org/releases/
> - More ram. Postgres and Mongrel itself will take up more than 80.
> - Don’t use Windows. Too much pain to support. If you’re letting  
> folks install at the intranet then design a fixed non-win32 platform and  
> your own rubygems repo for them to install from. Look at Mongrel  
> Rakefile to see how to generate a gem source for people to download.
> - Consider using mongrel\_cluster combined with virtual hosts to  
> accomplish the same thing. You’d be surprised how many little virtual  
> sites a well done single rails application with a reasonable pool of  
> Mongrel handlers can support.
> - SQLite will bomb with more than one Mongrel process accessing the  
> same database file with both 2 and 3 versions of sqlite. Use sqlite if  
> the install is tiny and one Mongrel server can handle it.

Excellent advice Zed, thanks. More ram huh? I can probably knock the  
virtual system up to 128 meg, I assume that would be enough? I’ve been  
looking at Pound and it looks like I can plug that in front and just use  
the clustering without much fuss at all, plus wrap this into a gem and  
forget about it.

Thanks for the info.
