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)
Change History (3)
by , 13 years ago
Attachment: | ticket1998.patch added |
---|
comment:1 by , 13 years ago
comment:2 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
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.