I’ve been working with a client using Epicentric to develop portal sites lately. I’ve worked on portals for other customers in the past and have lately started wondering what the most efficient way of developing these sorts of web applications would be. The Epicentric product is Java-based and relies on a fairly huge stack of software above the web server including a JDK, JDBC, a JSP server, and a Java servlet engine such as Jrun or Tomcat. Epicentric is a commercial portal app. Other (free) portal apps such as slash use the mod_perl approach – basically a Perl app combined with Perl DBI. Zope is Python-based (which I’m assuming would be slower unless there’s a Python equivalent to mod_perl?). And then there’s mod_virgule which is written in C but has no database interface (yet).
The question that I really haven’t found a satisfactory answer for is the speed/scalability issue. Which approach handles transactions faster and which scales to very large sites best? I’ve been unable to find any type of benchmarks or even anecdotal comparison of systems like these. I’m thinking about coding a simple benchmark program that simulates typical portal site operations in both mod_perl/DBI and Java/JDBC and comparing the speed and scalability using the same hardware, OS, database, and webserver. Has anyone done anything along these lines before? If so, I’d love to hear about it.