The Drupal content management system (CMS) allows individuals or communities of users to publish, manage, and organize a wide variety of web content. Drupal excels in architectural features: user permission, content management, and multi-site management.
Drupal’s capabilities extend from content management to enabling a wide range of services and transactions. The software allows the system administrator to create and organize content, customize the presentation, automate administrative tasks, and manage site visitors and contributors.
The usual approach to dealing with Drupal’s performance implications is to cache, cache, and cache some more. Everything from the database query results & the middleware, to front end resources & finally the request itself, gets cached. If you are dealing with a content-driven site and a largely anonymous user base, this can be a cheap & effective solution (throw something like Varnish in front of your web server and you’re ready to serve millions of requests), but with any application comes an authenticated user base, and caching suddenly isn’t the answer to all your problems.