Chapter 8. Production Configuration

In several chapters of this book it's been mentioned that the suggested optimizations are already present in the production configuration. Understanding just what this configuration is and how it was created can be useful in optimizing the JBoss Enterprise Application Platform. The production configuration was created with the aim of making the platform production-ready quickly and easily. By default, clustering and caching is enabled so that customers immediately have the benefit of these high-availability features. Although it's a good starting point for a real-life configuration, it should be tuned to best meet the application's requirements.
The main differences between the production and other configurations are:
  • Console logging is disabled.
  • Asynchronous appender for logging is enabled.
  • Logging verbosity is turned down in many cases.
    • Additional categories are defined to limit logging.
    • Default logging level is debug, but is overridden by the limit categories that were added.
      • This enables support to make things easier for customers to turn on debug level logging for various components, since the customer can just comment out the limiting category, and they will have debug logging for it.
  • The cached connection manager is set to not be in debug mode.
  • Clustering is properly configured to work with supported databases.
    • In the “all” configuration, the configuration is created to support the HSQL database, which is bundled for convenience with the server, but does not support clustering properly.
    • This is specifically the UUID generator.
  • The heap size is set higher than in the community edition.
    • Typically the heap size for the JVM is set to 512 megabytes in the community edition. For the platform it's set to the largest value possible for a 32-bit JVM across all platforms.
    • The largest 32-bit setting that works across all supported JVM and operating systems is 1.3 gigabytes (Windows sets the limit).
  • All administration is secured by default.
    • This was recently done in the community releases as well, so its now the same as the rest.
  • Hot deployment is still turned on by default, but the scan rate is changed from every 5 seconds to once per minute.
    • It could be disabled altogether but many customers do use it in production and if there a large number of deployments, scanning every 5 seconds can affect performance badly.