Opened 6 years ago

Closed 5 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 6 years ago.

Download all attachments as: .zip

Change History (3)

Changed 6 years ago by zhanga

Attachment: ticket1998.patch added

comment:1 Changed 6 years ago by zhanga

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 Changed 5 years ago by jng

Resolution: fixed
Status: newclosed

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

Note: See TracTickets for help on using tickets.