我正在開發基於Oracle數據庫的產品的API,我嘗試使用ruby-oci8 gem,但是我遇到了一個奇怪的問題 - OCI8.new非常慢,需要1,2-1, 5秒鐘連接到數據庫。ruby OCI8緩慢初始化
例如:
~ mmulev$ irb
2.1.1 :001 > require 'oci8'
=> true
2.1.1 :002 > def test
2.1.1 :003?> t0 = Time.now
2.1.1 :004?> OCI8.new('SCHEMA', 'STRONG_PASS', '//db_host:port/service_name')
2.1.1 :005?> Time.now - t0
2.1.1 :006?> end
=> :test
2.1.1 :007 > test
=> 1.217809
2.1.1 :008 >
在PHP(oci_new_connect)同樣的事情需要大約0,1-0,2第二,建立連接,並退回處理程序。
除連接池外還有其他解決方案嗎?
P.S.紅寶石API代碼是由method_profiler和基準異形,甲骨文N - 11克
您是否使用完全相同的PHP連接字符串?你的客戶端上有多個'ORACLE_HOME'嗎? – 2014-09-23 20:23:33
當然,使用[n-tier](http://en.wikipedia.org/wiki/Multitier_architecture)設計,並從ruby(或php)連接到您的中間層。當然,您的中間層可能需要一個連接池才能以良好的性能連接到您的數據庫。 – 2014-09-24 00:25:16
@ frank-schmitt,連接字符串是一樣的,ORACLE_HOME只有一個 – 2014-09-24 04:32:35