2

PHPのORMとしてpropelを使用したAmazonRDSデータベースへの多数の同時接続で問題が発生しています。アプリケーションは、一度に20〜50の接続を開いた状態で負荷テスト中に正常に実行され、壁にぶつかったように見え、ほぼ即座に最大接続までキノコになり、すべてが停止します。

Propelはmysql_pconnectを使用していると思いますが、それがどこに指定されているか、またはそれをオフにする簡単な方法が見つかりません。私はここで赤いニシンを追いかけているかもしれませんが、私は困惑しています。ネット上には、接続が多すぎるという問題を引き起こしているpconnectに関する十分なコメントがあり、それを削除する価値があると思いました。

誰もがこれを行う方法を知っていますか?いろいろなフレーズを使って検索してきましたが、何も見つからないようです。

4

1 に答える 1

0

結局のところ、エラーの原因はRDSREDOログでした。すべてのRDSインスタンスサイズに対して1つのサイズしかありません。インスタンスサイズが大きい場合は、データがデータベースに書き出される前に、REDOログを埋めて最初に戻ることができます。この時点で、それは追いつくために「猛烈にフラッシュする」ことを行い、新しい要求を処理せず、それらは狂ったように積み重なっていきます。これにより、最終的にアプリがクラッシュしました。さらに、より小さなRDSサーバーが問題を修正しましたが、これに関してAmazonにはあまり満足していません。REDOログのサイズを変更できる必要があります。

于 2013-11-05T00:38:14.857 に答える