2011-10-21 106 views
14

我們正在比較JTDS和Microsoft SQL Server以運行在JBoss上的Java EE應用程序,我們發現JTDS速度提高了30%到50%,在高併發情況下對應用程序進行基準測試,並保持完全相同的HW/SW,但只更改數據源配置中的驅動程序。爲什麼JTDS比Microsoft JDBC驅動程序更快?

雖然我們已經看到了很多有利的選擇對JTDS,所以我們正在考慮爲它去我仍然好奇:

  • 爲什麼是JTDS司機如此之快?
  • 爲什麼微軟從來沒有像JTDS那樣更新它的驅動程序?

使用最新的JDBC 3.0版本和最新的JTDS版本進行比較,並使用運行於16核心安裝和專用SAN上的SQL Server 2008進行比較。

+0

投票結束,因爲沒人在這裏可能知道這個問題的答案(除非他們爲微軟工作,並在開發微軟驅動程序的團隊) –

+2

微軟上個月發佈了一個新版本。 http://blogs.msdn.com/b/jdbcteam/archive/2012/03/06/microsoft-jdbc-driver-4-0-for-sql-server-released.aspx。我在他們的博客上發佈了關於這個主題的問題。希望能聽到他們的消息。 –

+0

感謝您的反饋。我們一直在研究如何提高SQL Server的Microsoft JDBC驅動程序的性能和可伸縮性。您想通過我們的博客聯繫頁面向我們提供更多細節嗎? http://blogs.msdn.com/b/jdbcteam/contact.aspx另外,您是否將我們的最新驅動程序 - 使用SQL Server 2012的SQL Server的Microsoft JDBC驅動程序4.0與jTDS進行了比較? –

回答

5

我做了類似的性能比較,結果相似。

性能差異有很多潛在的原因。它們中的一些在驅動程序生成的T-SQL中可見,您可以使用SQL Profiler查看它們。其他方面更加微妙,比如連接管理以及底層協議(TDS)如何實施。

我不能肯定MS爲什麼從來沒有更新驅動程序,但我懷疑這部分原因是因爲Java被認爲是一個有競爭力的產品/平臺。