Most databases are very fast once a connection is established, but reestablishing connections with every new request will slow down the application server considerably. However, only some products cached database results, application logic results, or assembled pages. While not affecting performance to the same degree as connection caching, these features do impact the speed of the application server. Vital to any complex, high-traffic site, application servers must be scalable. They should be able to talk to a Web server on a separate machine, as well as include a load-balancing mechanism.
Fault tolerance is also very important.
There are varying degrees of functionality. At the minimum, the server should go down only in the most extreme circumstances and include the ability to reestablish lost connections. In addition, an application server should ideally support automatic restart, include a failover mechanism, and maintain state information. This last serves a different purpose than load balancing, but the idea is the same. The product should grant a high degree of connectivity with existing data sources.