-1

我有一個託管在websphere應用服務器8.5上的spring rest api。它使用數據源連接到數據庫並存儲值 api處理大約10000個併發請求。 我真正想知道的是,最大連接數是否設置爲10.連接池如何連接數據庫以及實際創建多少會話以實現多達10000個併發請求的負載。websphere如何通過多個請求的數據源管理連接池

+0

閱讀對象池。 – Kayaman

+0

@Kayaman我想知道會創建多少個數據庫會話。一個鏈接將不勝感激讚賞。 我要去這個鏈接http://www.ibm.com/developerworks/websphere/techjournal/0909_blythe/0909_blythe.html#sec3b – user3341233

+0

我不知道你的「數據庫會話」是什麼,但如果你有一個池大小'10',那麼你有10個用戶共享的連接。如果您無法找到關於連接池的解釋,那麼您的搜索結果並不夠用。 – Kayaman

回答

0

連接池中的連接由WebContainer線程共享。連接池最大大小限制了將向數據庫打開的連接數。當線程完成時,連接通常會返回到池中。如果在應用程序中將連接設置爲非共享,則可以更快地返回到連接池(但是,由於某些事務原因不這樣做,所以您將不得不通過設置true和false來測試應用程序,請參閱https://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/cdat_conshrnon.html)。

應用程序服務器可以處理的併發請求數取決於(a)WebContainer線程池的大小和(b)連接池中可用連接的數量以及(c)運行應用程序的JVM的數量(d)數據庫處理請求需要多長時間,以及(e)應用程序代碼還有什麼作用。

對於每個應用程序都沒有單一數字,但一般的經驗法則是擁有比連接池更大的WebContainer線程池。如果請求處理很快,那麼可以處理大量的併發請求。同樣,如果請求處理緩慢,那麼併發請求的數量就會減少。見https://publib.boulder.ibm.com/httpserv/cookbook/WebSphere_Application_Server-WAS_Traditional-Thread_Pools.htmlhttps://publib.boulder.ibm.com/httpserv/cookbook/WebSphere_Application_Server-WAS_Traditional-Java_Database_Connectivity_JDBC.html

您可以監視使用技術JVM在https://www.ibm.com/developerworks/websphere/library/techarticles/0304_polozoff/polozoff.html概述這裏https://www-01.ibm.com/software/webservers/appserv/was/performance.html

我喜歡做的是尺寸爲最佳性能單個JVM(即你必須在任何應用中的瓶頸這將限制單個JVM可以處理多少個併發請求),然後水平擴展(用於故障轉移),然後垂直擴展,直到達到併發請求數的服務級別協議(SLA)。您可能還需要查看應用程序中的非功能需求(NFR),以解決任何性能問題。

讓我知道你是否有任何後續問題。