Can someone explain to me what the (performance) difference between
eruby, mod_ruby, erb, erubis, etc is? I have been struggling to find
up-to-date information, but most of the talks date back to 2002.
I have tried a limited benchmark on apache 2.2 between eruby and
mod_ruby, but it seems to me, that probably something is not quite right
with the setup. The result is that static html can perform (on a
particular machine) up to 2000-3000 requests per seconds (no cache/proxy
is set up), while eruby performs around 180 request per second. More
interestingly, mod_ruby, while performs at around the same level, causes
errors and drops the connection from time to time. I have used ERubyRun
and ERbRun with no difference.
I have a large codebase that dates back to 2000, which has been written
with eruby in mind thus making it harder for me to just jump on
different mods - without first justifying it of course. As I could
gather, mod_ruby is supposed to outperform eruby, but the author of
eruby mentioned that he created a patch that brings eruby on par with
mod_ruby. Then, however he went on to say that this patched version is
merged into mod_ruby, which is plausible, as eruby is still version
1.0.5 and as far as i know, hasn’t changed since 2002. Mod_ruby on the
other hand is said not to be thread-safe (i’m not entirely sure if that
should cause a problem, as i am running on linux, apache and prefork
mpm, but that might change in the future)
So if anybody can point me to the right direction, my question is: What
would be the best practice for running a really huge site on ruby?