Forum: Ruby on Rails Apache, Rails, FastCGI, Ruby, slow

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
F9baac8d679b8728c0b8023e34c61666?d=identicon&s=25 Eleo (Guest)
on 2006-04-19 11:41
I'm running Windows XP Pro on a not-so-new machine, Pentium 4 2.4GHz
with 512 RAM.  I've got Apache 2 installed and I'm using FastCGI to run
Typo in development mode while I design a theme for it.  But it's slow,
very slow.

Inconsistently slow.  If I reload a page, sometimes it happens pretty
quickly.  Sometimes it takes more than a minute.  Sometimes it gives me
an error message where the app doesn't load at all.  Sometiems I get the
page but without any CSS applied to it (even though reloading it works
fine.)

I had to firstly limit the number of running ruby.exe processes.  Before
I configured it to use a maximum of 1, whenever I tried to run Typo a
seemingly endless number of ruby.exe would start; so many that
eventually my computer would crash unless I quickly ran into Task
Manager and shut every instance down.  Despite the number of ruby.exe
processes that were running, Typo was still slow.  Ruby.exe itself takes
up 25-40MB of RAM at any given moment which I find to be massive.

I'm using the Typo trunk as it's the only version that works with 1.1.

What is going on here?  Surely I don't want my hosting to be like this,
slow and RAM-devouring.  A PHP blog script certainly doesn't use this
many resources, does it?
A0ed1bbfe42f4f87e6db0a16706246e2?d=identicon&s=25 Michael Greenly (mgreenly)
on 2006-04-19 13:15
Eleo wrote:
> I'm running Windows XP Pro on a not-so-new machine, Pentium 4 2.4GHz
> with 512 RAM.  I've got Apache 2 installed and I'm using FastCGI to run
> Typo in development mode while I design a theme for it.  But it's slow,
> very slow.
>
> Inconsistently slow.  If I reload a page, sometimes it happens pretty
> quickly.  Sometimes it takes more than a minute.  Sometimes it gives me
> an error message where the app doesn't load at all.  Sometiems I get the
> page but without any CSS applied to it (even though reloading it works
> fine.)
>
> I had to firstly limit the number of running ruby.exe processes.  Before
> I configured it to use a maximum of 1, whenever I tried to run Typo a
> seemingly endless number of ruby.exe would start; so many that
> eventually my computer would crash unless I quickly ran into Task
> Manager and shut every instance down.  Despite the number of ruby.exe
> processes that were running, Typo was still slow.  Ruby.exe itself takes
> up 25-40MB of RAM at any given moment which I find to be massive.
>
> I'm using the Typo trunk as it's the only version that works with 1.1.
>
> What is going on here?  Surely I don't want my hosting to be like this,
> slow and RAM-devouring.  A PHP blog script certainly doesn't use this
> many resources, does it?

512MB is not enough on Windows XP.  Even with no applications running it
will commit 600MB or more.  With MySQL, Apache, Ruby, Rails etc it will
commit around 800MB.  25MB per ruby server is about.

I'd recomend no less than 1GB of ram on Windows, but 512MB could provide
you with gobs of extra memory in Linux ;)

Beyond that...

Configure Apache to run with a small number (maybe 2?) of static fastcgi
servers instead of running them dynamically.  It's most likely the
dynamic servers having to startup that you are noticing.  When it takes
to long Apache can time out.
34f5b045aec62235c17458650ea75353?d=identicon&s=25 Steve Koppelman (hatless)
on 2006-04-19 14:35
First of all, are you clear on why you're using Apache+FCGI for
development? WEBrick should be fine unless you're in the tiny minority
writing code that needs Apache specifically (e.g. crazy stunt
programming somehow mixing PHP or mod_perl and Rails, or testing some
convoluted single-sign-on shared with other non-Rails apps on the same
Apache).

If this is not the case, lightpd is going to have much less overhead
than Apache if you're adamant about running FCGI on your development box
(why?!), but WEBrick really is all you need and you'll drop RAM
utilization enormously.

Assuming you need to develop against Apache for the reasons above, 512MB
is going to be borderline but might be doable. The problem you seem to
be having is FastCGI spawining too many processes. If you're seeing more
than three or four at a time, that's your problem. You should be
configured to spawn one, maybe two.

Can we see the blocks of your Apache config related to FCGI and your
Rails app? The entire FastCGI config block and the VirtualHost block or
.htaccess should do it.

Eleo wrote:
> I'm running Windows XP Pro on a not-so-new machine, Pentium 4 2.4GHz
> with 512 RAM.  I've got Apache 2 installed and I'm using FastCGI to run
> Typo in development mode while I design a theme for it.  But it's slow,
> very slow.
>
> Inconsistently slow.  If I reload a page, sometimes it happens pretty
> quickly.  Sometimes it takes more than a minute.  Sometimes it gives me
> an error message where the app doesn't load at all.  Sometiems I get the
> page but without any CSS applied to it (even though reloading it works
> fine.)
>
> I had to firstly limit the number of running ruby.exe processes.  Before
> I configured it to use a maximum of 1, whenever I tried to run Typo a
> seemingly endless number of ruby.exe would start; so many that
> eventually my computer would crash unless I quickly ran into Task
> Manager and shut every instance down.  Despite the number of ruby.exe
> processes that were running, Typo was still slow.  Ruby.exe itself takes
> up 25-40MB of RAM at any given moment which I find to be massive.
>
> I'm using the Typo trunk as it's the only version that works with 1.1.
>
> What is going on here?  Surely I don't want my hosting to be like this,
> slow and RAM-devouring.  A PHP blog script certainly doesn't use this
> many resources, does it?
D60346d9f28eb8ac662e103b5f46f9f5?d=identicon&s=25 Chuck Vose (Guest)
on 2006-04-19 17:55
(Received via mailing list)
I noticed this too but it's completely resolved if you can get into
production mode. The other option seems to be running it without sIFR
to render the fonts until you're ready for production mode.

Works very well for me on my mac mini and on our managed server. In
dev mode even the 2 cpu server with 2GB ram was using 100% cpu (on one
of the cpus). In production it's perfectly quiet.

-Chuck
F9baac8d679b8728c0b8023e34c61666?d=identicon&s=25 Eleo (Guest)
on 2006-04-19 19:57
Michael Greenly wrote:
> 512MB is not enough on Windows XP.
Ideally, no.  But I'd have to disagree.  This computer and even earlier
computers shipped with the OS; I find it illogical that it's "not
enough".  On the contrary it's been adequate for a few years now but
certainly needs to be replaced.

Actually the only reason why I installed Apache/FastCGI is for figuring
out how to properly set it up.  You see my friend has a shared server
and is hosting me but isn't totally adept on how to run his server
besides handing out an account with cpanel.  He has yet to figure out
how to give me superuser privileges so I can install software for myself
(even I don't know how to do this), so I frequently have to walk him
through the installation and configuration of things for Rails.  Most
recently he installed ruby and rails on the server but I realized I had
to use Webrick which seemed inadequate for an actual site.  My
installation of Apache/FastCGI was merely to become familiar with it.
Had I known that it could use so many resources I would have never tried
to stick with it.  I do find it more convenient than keeping a command
prompt window open.
A0ed1bbfe42f4f87e6db0a16706246e2?d=identicon&s=25 Michael Greenly (mgreenly)
on 2006-04-19 23:28
Eleo wrote:
> Michael Greenly wrote:
>> 512MB is not enough on Windows XP.
> Ideally, no.  But I'd have to disagree.  This computer and even earlier
> computers shipped with the OS; I find it illogical that it's "not
> enough".  On the contrary it's been adequate for a few years now but
> certainly needs to be replaced.

According to Microsoft 128MB is minimum required memory... lots of fun
trying to run anything in that.  The fact that it shipped with 512
doesn't mean anything.  Even with nothing running XP will commit 600+
MB.  This means that you run the risk of a page swaps at any time.

It will run, it doesn't run well.
This topic is locked and can not be replied to.