DB2 Connection Pooling

Biasanya koneksi ke server dapat melibatkan ribuan user. Hal ini membuat harus dibuat pula ribuan koneksi ke server. Hal ini sangat menghabiskan sumber daya. Biasanya masalah ini terjadi di web application, karena dibutuhkan membuat koneksi baru, melakukan query dan kemudian memutus koneksi.

Kebanyakan aplikasi berbasiskan web biasanya terjadi banyak transaksi namun untuk transaksi yang pendek saja. Hal ini membuat pembuatan dan penghapusan koneksi menjadi costly karena hanya dipakai untuk sesuatu yang kecil. Alangkah baiknya jika koneksi yang sudah ada tersebut dapat digunakan kembali.

Untuk mengatasi masalah di atas, DB2 menggunakan connection pooling untuk memelihara koneksi yang terbuka untuk dapat digunakan kembali. Connection pooling sudah berjalan secara default di DB2 Connect versi 6 ke atas.

Ketika request untuk membuat koneksi terjadi, sebuah agent ditugaskan untuk menangani hal ini. Agent ini akan melakukan koneksi ke DB2 server dan sebuah thread akan dibuat di DB2. Ketika aplikasi merequest pemutusan koneksi, agent tidak mengirimkan ke DB2 server. Agent ini akan kembali ke pool. Agent ini tetap memiliki koneksi tersebut sehingga ketika terjadi request koneksi kembali, maka agent ini dapat digunakan kembali tanpa harus membuat koneksi baru.

Ada beberapa parameter configurasi yang berhubungan dengan ini.
- NUM_POOLAGENTS : mengatur jumlah agent idle yang bisa dimaintain system.
- NUM_INITAGENTS : mengatur jumlah agent idle ketika startup.
- MAX_COORDAGENTS : mengatur jumlah maksimal agent yang aktif secara bersamaan.

This entry was posted in DB2 and tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>