Just making sure your client was not using an HTTP-BIND type connection.
Next thing I would check would be the cache settings and also confirming that your Openfire DB was not the bottleneck. If your published pubsub node is persistent, then the database hit could affect performance I think.
Openfire default cache settings are very safe and conservatory. There are a few postings some where here in igniterealtimeland about fine tunning Openfire for performance.