mod_perl のストレス テスト中に、データベース接続が失われるという問題に遭遇しました。プロセスがデータベース接続を共有しているため、問題が発生していると思われます。
しかし、私は Apache::DBI のすべての指示に従いましたが、これがわかりません。
startup.plではなく、子プロセスで接続を行っています。しかし、DBI->connect から各子によって返された $dbh を調べると、アドレスはすべての httpd プロセスで同じです。まず、これが適切に機能し、プロセスごとに再接続する場合、DBI->connect によって返されるアドレスは子プロセスごとに異なるはずですか? 私はそう仮定していますが、DBI (dbih_setup_handle) のコア C コードがこれを管理しており、同じアドレスを返していることがわかります。ですから、子供の中で再接続することの意味を理解していないのかもしれません.
$dbh ハンドルが同じ場合、適切に再接続していますか?