簡體   English   中英

我如何知道連接池和准備語句是否正常工作?

[英]How do I know Connection Pooling and Prepared Statements are working?

我已經在大學開始了近一年​​的網絡應用程序開發。 完成后,我對大學期間編寫的數據庫代碼進行了一些更改。 我在大學時使用簡單的JDBC,沒有使用連接池和預處理語句。 在過去的一個月里,由於查詢和使用的數據增加,我意識到了潛力,並且需要使用連接池和准備好的語句。

我已經實現了連接池,但沒有真正注意到性能的提高。 如果性能有所提高,那么我的問題就會得到解答,但是如何驗證連接池和准備好的語句是否正確使用?

我認為預備聲明從安全性而非性能角度來看更為重要。 如果你使用它們酷,你真的應該。 只要您的SQL的100%是准備好的語句,您就“正確使用它們”......

連接池是輕負載時您不會注意到的。 1或2或10個用戶,您可能會看到0或接近0的差異。 您需要創建某種負載測試測試來模擬100個並發用戶,然后比較使用和不使用池的性能。

如果打開和關閉連接不是速率限制,您將看不到性能改進。 嘗試查看數據庫的分析工具以獲取打開的連接列表。 如果在表面上關閉它們時看到來自進程的打開連接,則接口層正在進行連接池。

另請參閱另一個關於強制池連接丟棄的問題。

(警告:我使用ADO和ADO.NET; JDBC可能表現不同。)

您向連接池詢問統計信息是否有效。 如果連接池庫未提供統計信息,請查找更好的庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM