Databases and Other Back-End Resources


Java application servers rarely exist in a vacuum . In fact, the value of an application server lies in its ability to connect with other subsystems, such as databases, MOMs, and other existing processes. The application server usually interacts with these resources through a remote connection. The web application often creates this connection implicitly by using client interface code, such as a JDBC (Java DataBase Connectivity) connection, provided by the remote resource vendor. (As discussed in Chapter 2, connection creation incurs lots of process overhead. Most application servers use pooling to reduce this burden .) These remote systems often limit the number of concurrent connections they'll accept, while some remote systems do not support concurrent access at all. In any case, take care with the number of connections allocated against a remote system to avoid exceeding these limits, especially as your web site grows. As you increase web site capacity, coordinate your growth with the teams supporting remote resources to avoid overwhelming these systems.

Most likely your back-end systems existed originally to support thick client applications for a limited number of users. For example, financial institutions used to provide account information via thick client applications or dumb terminal connections for their brokers and customer-support agents . With the boom of self-service financial web sites, this same mainframe application may find itself supporting a large, multi-threaded web site. Not surprisingly, these applications sometimes need tuning or upgraded hardware to support Internet traffic volumes .

Some remote systems require an intermediate gateway for connection (often the gateway provides some service, such as protocol conversion, to support communications between the server and the remote system). We recommend dedicating a machine to the gateway whenever possible to avoid resource contention ( mainly CPU and NIC access) with other applications. Of course, an improperly configured gateway easily becomes a bottleneck in your web site. Monitor this component as you would any other during your performance testing. (Some web sites provide a failover mechanism for the gateway software to eliminate it as a single point of failure during operation. We recommend planning enough capacity on failover to handle the peak site traffic volumes.)



Performance Analysis for Java Web Sites
Performance Analysis for Javaв„ў Websites
ISBN: 0201844540
EAN: 2147483647
Year: 2001
Pages: 126

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net