What are the factors affecting performance of the EMS server when using DB stores vs file-based stores?

What are the factors affecting performance of the EMS server when using DB stores vs file-based stores?

book

Article ID: KB0087373

calendar_today

Updated On:

Products Versions
TIBCO Enterprise Message Service -
Not Applicable -

Description

Resolution:
The performance of the EMS server while using file-based stores is superior to the performance of the EMS server while using database stores. Here are the few possible reasons:

1.  With file based stores, in most of the cases, the db files reside on the same box as the EMS server. So it is faster. But in the case of DB stores, the database most often will reside on a separate host to the EMS server, introducing some network latency.

2.  The read and write calls for the database stores are far more expensive than the read and write calls to a file.

3.  Commonly, we have seen in DB set-ups that the databases are not tuned properly. The database tuning part is out of scope of EMS and you need to involve your database administrators to achieve high throughput from EMS. We do not have any whitepaper with specific recommendation from TIBCO perspective on tuning the database.

4.  EMS depends upon hibernate for EMS connectivity to the database. This is an additional layer involved as compared to file-based store, which adds some further latency.

5.  Processor speed and memory on the Database server also matters, as well as the disk I/O rate.

6.  Additionally there is a JVM involved when wring/reading messages to/from a db based store. This will still add some additional overhead on the EMS server.

Unfortunately we do not have any performance metrics of EMS when using file based store and db based store, as the results will depend upon several additional factors such as the network health, power of the database server, tuning of the database server, size of the database etc.

Issue/Introduction

What are the factors affecting performance of the EMS server when using DB stores vs file-based stores?