プロが教えるわが家の防犯対策術!

質問させていただきます。
Apache+PHP+PostgresSQLでサーバーを運用しています。アクセス数が多くなるとApacheが停止してしまいす。そのためボトルネックの調査をしているのですが、Apacheの同時リクエスト数(MaxClients)を150、
PostgreSQLの同時接続数(MAX_CONNECTIONS)を32に設定しています。
ApacheとPostgreSQLの同時接続数はどちらを多くしたほうがよいでしょうか?

A 回答 (2件)

フロントエンドの接続数よりもバックエンドの接続数が少なければ,フロントエンドで止まってしまいますよね?



CCCCCCCCCC [client]

FFFFFFFFFF [apache]

BBB******* [postgres]
*の部分は足りないのでエラーが返る.

ひとつのスクリプトでpostgresに2connectionあれば,フロントエンド=バックエンドでは足りなくなりますよね?

よって,安全を考えてF < Bって考えるべきかと思います.

それから,apacheが落ちると言うのは何かスクリプトに問題があったりしませんでしょうか?

アクセス数が多くなれば,コネクションできなくなるだけなので,そのエラーが返るはず.

落ちるのは,資源を使い切ってたりって事もあるのでは?

ベンチ中にtopで監視してみた方が良いかも知れません.
#Linuxですよね?
    • good
    • 0
この回答へのお礼

迅速な回答ありがとうございました

サーバーはlinuxです、落ちる原因を調べたいのですが
メッセージを確認出来ないためエラーが特定できない
状態です。vmstatでリソースは確認してます、
過負荷の時にtopで監視してみます。

お礼日時:2005/03/09 10:57

これはフロントエンドとバックエンド同じにしないと駄目ですね.



つか,バックエンドの方が多くないと駄目かな.

Postgresにメモリをあまり使えないのなら,pgpoolとかでプーリングするのも手.

ちなみにapacheが停止って落ちるってことかな?
    • good
    • 0
この回答へのお礼

回答ありがとうございます
apache停止は落ちるということです、

よければフロントエンドとバックエンドを同じにするか、
多くしなければいけない理由を教えてください。

あとvmstatでCPUのアイドルを確認したのですが
30~20の状態でもpostgreSQLに繋がらなくなります。

お礼日時:2005/03/08 20:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!