在Java項目中,我使用的是ojdbc6罐子甲骨文的getConnection慢
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.1.0</version>
<scope>compile</scope>
</dependenc>
第一次一天我跑,的DataSource.getConnection()快。第二次通常是可以的。接下來的幾次需要大約45秒。之後,它需要幾分鐘的時間。一旦我有一個給定的應用程序運行的第一次連接,我得到的任何新連接都非常快。這種延遲只能獲得給定運行的第一個連接。
什麼是讓我的第一次連接如此之慢?
我正在看netstat,並且在成功運行後沒有看到任何連接掛起。已嘗試過幾種不同的連接池(DBCP,C3PO),但沒有運氣。通過源代碼的調試,延遲上的org.springframework.jdbc.datasource.DataSourceUtils行100%:
Connection con = dataSource.getConnection();
任何想法?
編輯的更多詳細信息
1)我使用連接池(DBCP或C3PO),從而節省了供以後使用的連接。當我談到獲得一個新的連接時,我的意思是,當第一個連接正在使用..我需要去數據庫並獲得一個新的連接。當然,我可以一次又一次地從連接池中返回並獲得相同的連接。但同時獲得第二名也很快。
2)我不知道有多少連接我的數據庫讓我登錄。任何想法,這個屬性是在甲骨文?
也許這篇文章[如何檢查允許連接到Oracle數據庫的最大數量?](http://stackoverflow.com/questions/162255/how-to-check-the-maximum-number-of-allowed-connections-to-an-oracle-database)對你而言很有趣 – lkdg 2011-04-01 05:44:45