Things to look out for when installing for production

We are making a chat application. I’ll be installing Openfire on a linux environment on the server. What is the most optimal database to use? And what all things to look for during installation and configuration.

There is no one-size-fits-all advise that we can give you, as performance varies a lot based on usage details. Some generic pointers:

  • avoid the embedded database for production systems.
  • ensure that whatever database system that you use is configured to be fast enough to respond to plenty of Openfire queries. Regularly verify this, by looking at statistics.
  • ensure that Openfire has plenty of memory to use (a couple of gigabytes at least).
  • keep an eye on the cache usage statistics in the administration console. Resize caches if needed.
  • regularly analyze Openfire’s log files for issues.
  • ensure that you’re using a properly signed TLS certificate, that covers your XMPP domain name, as well as its subdomains (a wildcard certificate is ideal, but also the hostname of the server that Openfire is running on.
  • Enable features that you use, but disable those that you’re not using. Take particular note of features that are sensitive to abuse/spam, such as in-band account registration.
  • have a process in place that regularly updates Openfire and plugins.
  • ensure that the proper DNS records are in place.
  • try running external tests to see if connectivity is OK.
1 Like