簡體   English   中英

如何使用 Oracle 使用 PHP 的連接池?

[英]How to use Oracle Connection pooling using PHP?

我正在使用 PHP 和 Oracle 數據庫 12c,我想實現連接池以提高我的應用程序性能你能幫幫我嗎?

查看 Oracle 免費的 The Underground PHP 和 Oracle 手冊的數據庫駐留連接池 (DRCP) 章節。

首先確定是否需要 DRCP。 我假設您已經在使用持久性oci_pconnect()調用,這是提高連接性能的第一件事。

與任何池一樣,DRCP 是共享資源,因此存在一些開銷,您需要確保連接不會保持打開狀態,否則會阻塞其他用戶。 如果您在 DB 服務器主機上沒有用完 memory,我建議不要使用它。

如果您決定嘗試,基本步驟是:

  • 啟動池,類似
    SQL> execute dbms_connection_pool.start_pool()
  • 更新您的 php.ini 並設置連接 class:
     oci8.connection_class = MYPHPAPP
  • 使用池連接字符串,如
    $c = oci_pconnect('myuser', 'mypassword', 'myhost/sales:POOLED');
    或者
    $c = oci_pconnect('myuser', 'mypassword', 'salespool');
    連接別名在 tnsnames.ora 文件中:
     salespool=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=myhost.dom.com) (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales) (SERVER=POOLED)))

暫無
暫無

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

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