Performance Checklist

  • Use a relay server to examine data transfers.

  • Reduce the number of messages transferred.

    • Cache data and objects to change distributed requests to local ones.

    • Batch messages to reduce the number of messages transferred.

    • Compress large transfers.

    • Partition the application so that methods execute where their data is held.

    • Multiplex communications to reduce connection overhead.

    • Stub out data links to reduce the amount of data required to be transferred.

  • Design the various components so that they can execute asynchronously from each other.

    • Anticipate data requirements so that data is transferred earlier.

    • Split up data so that partial results can be displayed.

    • Avoid creating distributed garbage.

  • Optimize database communications. Application partitioning is especially important with databases.

    • Use statically defined database queries.

    • Avoid database transactional modes if possible.

    • Use JDBC optimizations such as prepared statements, specific SQL requests, etc.

Get Java Performance Tuning now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.