JBoss AS 5 Performance Tuning

Tuning the Persistence Layer (JBoss AS 5) Part 2

Use batch updates for bulk insert/updates In situations where you want to issue several inserts or updates in the same unit of work, update batching lets you to group those statements together and transmit them to the database as one set of instructions. Like setting the query fetch size, update batching works by reducing the […]

Tuning the Persistence Layer (JBoss AS 5) Part 3

Speeding up your Hibernate queries with batches Let’s recap quickly our initial use case, using the default lazy loading strategy. If our session/entity manager has 5000 customers attached to it then, by default, for each first access to one of the customers’ item collection, Hibernate will issue an SQL statement to fill that collection. At […]

Tuning the Persistence Layer (JBoss AS 5) Part 4

The query cache Entity cache requires that you access your database rows by means of its primary key. Sometimes this strategy cannot be applied and you need a more flexible way to collect your data, like caching the result of a query: The HQL statement that comprised the query can be cached as well (including […]

Tuning the Persistence Layer (JBoss AS 5) Part 5

A sample use case In this topic, we have covered several advanced concepts about caches. By now, you should be aware that you can greatly improve the performance of your application by caching read-only or read-mostly data. However, the cache can turn to a potential waste of memory and even a bottleneck when it’s not […]

JBoss AS Cluster Tuning Part 1

Clustering allows us to run applications on several parallel instances (also known as cluster nodes). The load is distributed across different servers, and even if any of the servers fails, the application is still accessible via other cluster nodes. Clustering is crucial for scalable Enterprise applications, as you can improve performance by simply adding more […]

JBoss AS Cluster Tuning Part 2

How to optimize the JGroups’ Protocol stack The Protocol stack contains a list of layers protocols, which need to be crossed by the message. A layer does not necessarily correspond to a transport protocol: for example a layer might take care to fragment the message or to assemble it. What’s important to understand is that […]

JBoss AS Cluster Tuning Part 3

Understanding JBoss Cache configuration In order to tune your JBoss Cache, it’s essential to learn some key properties. In particular we need to understand: • How data can be transmitted between its members. This is controlled by the cacheMode property. • How the cache handles concurrency on data between cluster nodes. This is handled by […]

JBoss AS Cluster Tuning Part 4

Use buddy replication By using buddy replication, sessions are replicated to a configurable number of backup servers in the cluster (also called buddies), rather than to all servers in the cluster. If a user fails over from the server that is hosting his or her session, the session data is transferred to the new server […]

JBoss AS Cluster Tuning Part 5

How to configure the replication-granularity As far as what data needs to be replicated is concerned, you can opt for the following choices: • session indicates that the entire session attribute map should be replicated when any attribute is considered modified. Replication occurs at request end. This option replicates the most data and thus incurs […]

Tomcat Web Server Tuning (JBoss AS 5) Part 1

Earlier in client-server computing, each application had its own client program and it worked as a user interface and needed to be installed on each user’s personal computer. An upgrade to the server part of the application would typically require an upgrade to the clients installed on each user workstation, adding to the support cost […]