Are web applications limited by the amount of memory or by the speed of the database server on the server side

scalabilityserver-sideweb-applications

Many web sites mostly only do CRUD (create, read, update, delete) operations to the database for different URLs. Suppose that we have a 3-tier solution with the database server on a dedicated server and the web server on another server. This question is not about the database server, but the web server.

The web server use dynamic content so it execute some code for every request and is communicating with the database server.

What should be the limitations of the web server if the web applications aren't computation-heavy under heavy load? Shouldn't the web application be limited of the speed of the database server? or is it limited by the amount of memory? With the speed of CPUs today I don't think that the web servers CPU speed is the limitation.

For static content web servers like Nginx and Lighttpd the web server almost always use very little memory and are limited by the disk-IO speed. But how is it for dynamic content?

Best Answer

Depends on your setup. Assuming that you have separate servers for DB, separate servers for static files and perhaps separate memcache, then the web tier is definitely CPU bound (unless you're doing something really weird). Of course if you try to combine more than one of these services with the web server, then YMMV.

Note however, that there is question of the C10K problem, and unless you address it properly, web tier will be system resources bound.

Related Topic