Make sure that your JVM really is waiting for file I/O, not paging activity. Check for paging with your operating system’s monitoring tools.

If the source of slow performance is file I/O, it will show up in JVM thread dumps. The cause could be either some application-specific code that you have, or else the file I/O that Dynamo does itself. One common place Dynamo does file I/O on each request is using the FileCache. You can check the status of your FileCache by going to the service:

http://hostname:port/nucleus/atg/dynamo/servlet/pipeline/FileCache

The FileCache has properties for totalSize of the cache, number of hits, number of misses, ratio of hits to total requests, and size of current entries. Make sure the ratio of hits to misses is high (assuming that you have enough memory to make it so). Make sure that the size of your file cache is large enough to hold the frequently served content, but small enough to fit comfortably within your JVM size. See Adjusting the FileCache Size.

You should also check any request logging that you are performing. By default, ATG is configured to log request events, content viewed events, and user events to the file system. This logging is queued to a separate thread so that it is done efficiently, but this action will consume some I/O resources of your server.

 
loading table of contents...