- 締切済み
phplibってさぁ~~~
なんか、DOS攻撃に弱くない? やってみればわかるけど、セッション管理下でDOSくらわせると コネクションが多くなりすぎてコネクションがはりきれなくなるのは いいんだけど、回復に時間かかりすぎ・・・ なんとかしなきゃね・・・・ とりあえずpcnnect使ってるところconnectに書き直すだけでもだいぶ 軽減したんだけど・・・・ほかにもそんな人いません?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- alfeim
- ベストアンサー率58% (114/195)
回答No.1
それってバックエンドで動いてるDBサーバが悲鳴上げてるだけでは? で、あれば対処方法としては ・DBサーバを速くする ・DBサーバの最大接続可能数を減らす ・Session用DBサーバを複数立てて、SessionIDを見てHashingする事でSessionサーバの平均負荷を下げる(要session.incの書き換え) など考えられますが・・・ まぁPHPLIBの機能自体が利便性を提供する分、負荷がでかくなるのはしょうがないと思いますけど・・・ HTML template機能なんか、正規表現エンジン使いまくってるからCPU負荷がかなりかかりますよ >とりあえずpcnnect使ってるところconnectに書き直すだけでもだいぶ 軽減したんだけど・・・・ これはDBへのpconnectがconnectと対してパフォーマンスが違わないDBだったからでしょう Oracleみたいにconnectの負荷が結構でかいDBであればpconnectの方が軽いはずですよ
お礼
ありがとうございます。 説明があまりにもたりませんでしたね バックエンドDBはPostgrsSQLなんですけど 当然のように コネクション数は、PostgreSQLの場合ある程度設定できて十分に でかくして、それにあわせてphplibのDBコネクション数をきめてるんですけど 問題はそこににもCPUパワーにもなくて。 単純にPHPがコネクションを開放しないで、だんだんとコネクションが たまっちゃうんですよね。特にデフォルトがpconnctなもんで その傾向が・・・・postgreの実装とかみあわないのかな? perlでセッション管理してたときは 毎回強制でコネクションきっていて、理論上不可は高かったんだけど それのときははるかに少ないコネクション数の設定(DB側)でも オーバーすることなかったから。う~~んどないなってんだろ・・・ しばらくソースを追うたびに出ようかな ちなみにバージョンはphp3.0.18-ja phplib-7.2c postgre 7.0.3