Opened 13 years ago

Closed 12 years ago

#1998 closed enhancement (fixed)

Fdo connection manager enhancement

Reported by: zhanga Owned by:
Priority: medium Milestone: 2.4
Component: General Version: 2.2.0
Severity: minor Keywords:
Cc: External ID:

Description

If the thread model of Fdo Provider is PerCommandThreaded or MultiThreaded, Fdo connection manager will reuse the connection in connection pool when open connection function is called. For example, if more than one TB Web users are working on same document, they may share one connection. This behavior results in bad performance. We can change the behavior to open a new connection if current connection count is less than connection pool size. And reuse connection if inuse connection count is equal to connection pool size.

Attachments (1)

ticket1998.patch (8.1 KB ) - added by zhanga 13 years ago.

Download all attachments as: .zip

Change History (3)

by zhanga, 13 years ago

Attachment: ticket1998.patch added

comment:1 by zhanga, 13 years ago

I made some changes on FdoConnectionManager to improve the performance of PerCommandThreaded/MultiThreaded provider. Take FDO TB provider as example, it is a PerCommandThreaded provider. Suppose there are 2 operation requests at the same time. Currently, the 2 requests will share one connection. In our tests, it is about 30% slower than 2 requests 2 connections. This submission changes the behavior to open a new connection if the connection pool of this provider is not full. And reuse connection only if connection pool is full. This change has no impact on providers which thread model is not PerCommandThreaded/MultiThreaded.

comment:2 by jng, 12 years ago

Resolution: fixed
Status: newclosed

Fixed trunk (r6690, r6746) and 2.4 (r6757)

Note: See TracTickets for help on using tickets.