I\'ve been arguing with some friends on the university, and we can\'t get to a point to which is the framework with more scalability for web applications (and still very fast).<
You can also take a look at "What’s faster? PHP vs ASP vs JSP vs CGI etc"
I think Java/Java EE is the only "framework" designed from scratch to develop distributed/clustered applications and that encourages good practices to achieve it from specifications (EJB, JTA...).
But as usual, it depends. This kind of questions often tend to flame wars :)
I happened to come across this question and noticed that some talk about speed, others scalability. I wrote a blog post explaining the difference:
http://www.fransekman.com/scalability-or-performance-what-do-you-mean/
"A high scalability website is a website, which performance-level can be maintained by adding more capacity when the load increases". This can be achieved in any programming language and almost any framework. Some frameworks have built-in functionality, which may make some common scalability things faster to implement.
Several good points already. My main point would be this: A person who knows python inside and out will probably be able to make more scalable code using python than using Java. And there are many massively big sites that use all the technologies that you mention, so I don't think there's really any big advantage either way.
For the most part, you should stick to what you're familiar with unless there's a really significant reason to go another way.
Ruby and PHP are not webapp frameworks. They are programming languages which are popular for web development.
Generally speaking, webapp scalability is not a property of a programming language, and a given webapp framework may at most not hamper scalability. Good scalability is more a property of application design.
There are way too many webapp frameworks out there for a point-by-point comparison that is anything short of encyclopedic.
Also, you can tackle scalability for a given application in several ways. One way is to have a well defined and narrow scope and aim awesome raw performance, so a single machine can serve bazillion of work units. The best example around is Mailinator.
Another way is to make it easier to serve increasing loads by "just" adding more hardware. Pretty much any database-backed webapp framework can scale this way: just add more application servers between a load balancer and a shared database back-end. If you frame the problem this way, your main concern is designing the application to minimize 1. database contention 2. database load.
The last way is design the system to be insanely parallel all the way. Google being the prime example.
In summary: languages or frameworks do not make scalable applications, software architects do.
EDIT: To be clear, my answer is focusing on scalability, that is the ability to handle increasing loads without changing design. This is a different property than speed of execution.
The choice of a web framework has less impact on the scalability (the ability to scale) than the architecture of your site. Most modern web frameworks lend themselves very well to scaling so it's really your deployment setup that needs attention.
(five years later...)
I found this blog post which benchmarks multiple language dependent web frameworks. And now this pretty much answers the question I had in 2008.
http://www.techempower.com/blog/2013/03/28/framework-benchmarks/