When it comes to sheer performance, ejabberd is second to none!
There is another aspect to this question, however, and I would advise you to walk into it with your eyes open: ejabberd is written in Erlang, and — unless you or one of your team is competent in that language *and* you would need to do a lot of tweaking like, say, changing the authentication method via LDAP or an external database — be wary! In which case I would say that OpenFire would be a better option, since the latter is written in Java and finding engineers with expertise in Java is not so tough.
The point is, if you are going to use the XMPP server for product development, at some point the native language quirks begin to show and willy-nilly you have to deal with it. Bear in mind that things like choosing a server are long-term commitments, and I am assuming that at some time you would look to re-configure it instead of the the plain vanilla that comes out of the box.
Other than this, XEP-compliance is another thing, which you can compare (Comparison of XMPP server software) to figure out what would work best for your product.
Original post: