webservice還有人用嗎 WebService連Oracle的連接池問(wèn)題,提示連接池已滿?
WebService連Oracle的連接池問(wèn)題,提示連接池已滿?根據(jù)我的推測(cè),有兩種方法可以做到這一點(diǎn):1。檢查web服務(wù)與數(shù)據(jù)庫(kù)之間是否存在丟包,優(yōu)化web服務(wù)的數(shù)據(jù)庫(kù)鏈接2。查看數(shù)據(jù)庫(kù)的數(shù)據(jù)量和I
WebService連Oracle的連接池問(wèn)題,提示連接池已滿?
根據(jù)我的推測(cè),有兩種方法可以做到這一點(diǎn):1。檢查web服務(wù)與數(shù)據(jù)庫(kù)之間是否存在丟包,優(yōu)化web服務(wù)的數(shù)據(jù)庫(kù)鏈接
2。查看數(shù)據(jù)庫(kù)的數(shù)據(jù)量和I/O,并根據(jù)情況添加相應(yīng)的索引或采取一定的表讀寫優(yōu)化
3。添加數(shù)據(jù)庫(kù)的PGA,因?yàn)镻GA主要管理數(shù)據(jù)鏈接。最小化不必要的數(shù)據(jù)庫(kù)排序和分組
調(diào)用后添加serviceClient.cleanupTransport服務(wù)()最好最后寫進(jìn)去。說(shuō)明:默認(rèn)情況下,WebService調(diào)用的連接池中只有兩個(gè)連接。每次調(diào)用后,必須釋放連接資源,否則很快就沒(méi)有連接了。
webservice連接未關(guān)閉?
首先,PHP可以實(shí)現(xiàn)連接池,但只能在cli模式下實(shí)現(xiàn)。我們的web服務(wù)通常以CGI模式運(yùn)行。
一般的中小型應(yīng)用,不需要用這個(gè),主要的PHP連接數(shù)據(jù)庫(kù)擴(kuò)展基本上是C的,速度其實(shí)很快。
如果發(fā)現(xiàn)連接瓶頸(幾乎不可能),可以參考以下解決方案。
1. 您可以使用命令行模式編寫一個(gè)駐留在后臺(tái)的進(jìn)程來(lái)實(shí)現(xiàn)連接池,并打開接口供其他應(yīng)用程序調(diào)用(不建議嘗試,太復(fù)雜,穩(wěn)定性待定)。當(dāng)您使用持久連接連接到數(shù)據(jù)庫(kù)時(shí),實(shí)際上工作進(jìn)程的每個(gè)FPM都對(duì)應(yīng)于一個(gè)MySQL連接。您可以根據(jù)這個(gè)特性配置phpfpm工作進(jìn)程和MySQL連接的數(shù)量。(不太好)
3。安裝swoole擴(kuò)展可以實(shí)現(xiàn)真正的連接池,效率很高。
推薦第三種方案,成熟,性能高。