私はApache/PHPアプリケーションを1台のサーバーに、PostgreSQLデータベースを2台目のサーバーに持っています。 SSLを介して接続するように構成されています。 $db->setAttribute(PDO::ATTR_PERSISTENT, true);
がスクリプトに含まれていても、TCP接続は常に閉じられます。 PHP.INIはpgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = 30
およびpgsql.max_links = 30
です。 sudo netstat -nap
を使用すると、2つのサーバー間にESTABLISHED接続が存在しないことがわかります。接続を開いたままにするには、他に何をする必要がありますか?新しい接続オーバーヘッドは、要求ごとに10〜12ミリ秒です。php postgresql永続的な接続は常に閉じる
0
A
答えて
0
私は、公正な方法ダウンPHPマニュアルページの1このノートを見つけた:
を持続的な接続を使用したい場合は、あなたがに渡されたドライバオプションの配列に PDO :: ATTR_PERSISTENTを設定する必要がありますPDO コンストラクタ。 オブジェクトのインスタンス化後にPDO :: setAttribute()でこの属性を設定すると、ドライバは永続的な接続 を使用しません。
これは私が間違っていたところです。私はこれを使用していた。
$host = explode('.',$_SERVER['SERVER_NAME']);
$db = new PDO($host[0]);
$db->setAttribute(PDO::ATTR_PERSISTENT, true);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
私はこれをやっているはずです時:
$host = explode('.', $_SERVER['SERVER_NAME']);
$db = new PDO($host[0],null,null,array(PDO::ATTR_PERSISTENT=>true,
PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE=>PDO::FETCH_ASSOC));
DSNのpdo.iniファイルです。ヌルのユーザとパスワードは幸いにも無視されます。そうしないと、どちらもうまくいかないでしょう。今すぐnew PDO
は10ミリ秒の代わりに0.02ミリ秒かかる。
関連する問題
- 1. PHPと永続的接続
- 2. PHPと永続的なHTTP接続
- 3. Android - PHP - MySQLの永続的な接続
- 4. php ftp connection - スクリプトの最後に閉じますか?私は永続的な接続をしたいですか?
- 5. PDOは永続接続を閉じますか?
- 6. Tomcat 7サーブレットは永続的なNIO接続を強制的に閉じる必要があります
- 7. タイマーベースのファイル永続的な接続
- 8. Node.js - 永続的な接続アダプター
- 9. WCFサービスHttp永続的な接続/セッション
- 10. J2MEでの永続的なHTTP接続
- 11. PostgreSQLデータベースのアイドル状態の接続を閉じるには
- 12. psycopg2とpostgresqlの間の古い接続を閉じるには?
- 13. PHP MySQLi SSLによる永続的接続
- 14. PHP <---> FLASH永続的な接続(データストリーミング)
- 15. PHPのmemcachedへの永続的な接続
- 16. 接続phpとpostgreSQL
- 17. 永続的なPHPデータコレクション
- 18. 永続的なPHPセッション
- 19. jabc:mysqlのmariadbで永続的な接続を無効にする
- 20. HSQLDB + junit:断続的な「接続例外:閉じ」
- 21. 永続的接続を作成する
- 22. PostgreSQLメソッドの終了後に接続を閉じる
- 23. 閉じるMQ接続
- 24. MongoEngine:接続を閉じる
- 25. 永続的なPHPスクリプトを実行し続けるには?
- 26. 接続を閉じるには
- 27. Zehon FTP接続を閉じるには
- 28. Ruby:SOAP4R接続を閉じるには?
- 29. Java SQLite - 接続を閉じるには?
- 30. あなたは、閉じた接続
pgBouncerのような接続プールを使用してください。常に。 –