PHPベースのWebアプリケーションの負荷テストでは、DBのハード制限である最大接続数150に簡単に到達できます。DB接続を管理するためにORMでKohanaを実行します。
これにより、接続例外が発生し(したがって、トランザクションが失敗します)、mysql_pconnectのパフォーマンスはさらに低下するようです。
負荷がかかった状態で適切に劣化するソリューションを探しています。考慮されるオプション:
- DB接続プール(ええと、PHPでは不可能ですよね?)
- 最大接続数に達したことが原因で失敗した場合は、失敗した接続を再試行してください
2は論理的に見えますが、Kohana/ORMがDB接続プロセスを管理します。これをなんとかして設定できますか?
思いもよらないことはありますか?
編集
これはAmazonAWSRDSデータベースインスタンスであり、Amazonは私に150の制限を設定し、サーバーは最も確実に正しく構成されています。使用しているデータベースを使用して、負荷がかかった状態で適切に機能を低下させたいだけです。明らかに、いつでもDBをアップグレードして接続制限を高くすることができますが、予期せず制限に達した場合に備えて、障害が発生した場合に備えたいと考えています。負荷がかかった状態での優雅な劣化。