[
https://issues.apache.org/jira/browse/DBCP-579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17378013#comment-17378013
]
Shaktisinh Jhala commented on DBCP-579:
---------------------------------------
Hi [~ggregory] took the
[commons-dbcp2-2.9.0-20210707.143825-1.jar|https://repository.apache.org/content/repositories/snapshots/org/apache/commons/commons-dbcp2/2.9.0-SNAPSHOT/commons-dbcp2-2.9.0-20210707.143825-1.jar]
from the link you provided above and run the tests. However, we did not
observed any improvement. When opened the jar file, i noticed that all classes
were having the time stamp of 22-Jan-2020. I was expecting it to be of Jul
2021. I double check that i downloaded the jar of correct version and it was
2.9.0 which is correct.
I executed one more run with profiling enabled. I can still see that
PoolingConnection.createKey(String) is still the culprit. Please find the
screen shot of yourkit snapshot attached here with name
WithPrivateJarFrom2.9.0.jpg.
> Performance of DelegatingConnection.prepareStatement(String) regressed
> enormously in 2.8.0 compared to 1.4
> ----------------------------------------------------------------------------------------------------------
>
> Key: DBCP-579
> URL: https://issues.apache.org/jira/browse/DBCP-579
> Project: Commons DBCP
> Issue Type: Bug
> Affects Versions: 2.8.0
> Environment: OS: Windows Server 2008 R2 Enterprise
> Java: Open JDK 12.0.1
> DB: Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
> Reporter: Shaktisinh Jhala
> Priority: Major
> Attachments: DBCP_v1.4.jpg, DBCP_v2.8.0.jpg,
> WithPrivateJarFrom2.9.0.jpg
>
>
> We recently upgraded the commons DBCP from version 1.4 to latest version
> 2.8.0. After the upgrade, we observed significant degradation in our use
> case. After the analysis it was found that the performance of
> DelegatingConnection.prepareStatement(String) is regressed in version 2.8.0
> enormously compared to 1.4 where the approx time taken in 2.8.0 is 7400
> seconds compared to approx 183 sec in 1.4.
> Looking at the Yourkit snapshot, it is observed that the newly added call
> PoolingConnection.createKey(String) in the method
> PoolingConnection.prepareStatement(String) is the major contributor for this
> regression.
>
> We took multiple snapshot and in all these snapshot we observed the
> regression. So it was not intermittent. Also, we observed this with both the
> our DBs (MS SQL server and PostgreSQL)
>
> Please find attached the screenshot of YourKit Snapshot showing the Merged
> Callees of DelegatingConnection.prepareStatement(String) taken for MS SQL
> server with commons DBCP version 1.4 and version 2.8 for further details.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)