Oracle 數據庫對 PHP 的大力支持一直是很High的(但是國內的好像 PHP + Oracle 的開發並不很多)。 關於Oracle 11g 新特性的相關數據庫,以及駐留連接池(Database Resident Connection Pool,OracleDRCP) 對 PHP 應用進一步擴展帶來了一種可能。
這個特性應該重點針對 PHP 應用的。PHP 不支持真正的多線程,非持久連接非常消耗 CPU 資源,擴展性也差;持久連接擴展性好了一點,但是又額外占用更多的內存資源(PHP 之父在幾年前的一個 Step-by-Step 優化演示的文章中很形象的說明了連接開銷對應用的影響)。
OracleDRCP 的出現能更好的緩解上述兩個問題,其共享連接能跨 apache 與中間件節點,但共享的連接是基於數據庫用戶的,比如 Scott 用戶登錄到 DB 上的所有連接間共享。
Oracle 官方披露的測試數據是,在 4 CPU Intel Xeon MP 2.80GHz 機器上,2GB RAM, 32bit RHEL 4. 支撐到 14000 個鏈接的時候,CPU 使用率在 65% 左右。這個...還是太驚人了,根據我找到的另外一份測試結果,看來要大打折扣才能有參考性。
上述的相關內容就是對PHP 與 Oracle DRCP不同之處的描述,希望會給你帶來一些幫助在此方面。