0

原因は、ディスク領域が不足し、すべてが正常に機能しなくなったことが原因である可能性があります。他の誰かが同様の問題を抱えている場合に備えて、とにかくこの質問を残しておきます。

長い間ハングしているPHPスクリプトがいくつかありますが、それらは強制終了されないため、実際には多くのCPU時間を使用していないようです。それでも、最大量のPHPプロセスがすでに生成されているため、lighttpdがこれ以上PHPプロセスを生成することは不可能になっています。

関数として使用したり、php.iniに入れてスクリプトを実行できる最大CPU時間を制御したりできるset_time_limitを認識しています。私が欲しいのは、私のWebサーバー(lighttpd)によって実行されるすべてのPHPスクリプトを、CPU時間ではなく、クロック時間で制限することです。

重要な場合、これは私のlighttpd設定ファイルのPHP部分です。

fastcgi.server = (".php" => ((
 "bin-path" => "/opt/local/bin/php5-cgi",
 "socket" => "/tmp/php.socket" + var.PID,
 "min-procs" => 16,
 "max-procs" => 16,
 "idle-timeout" => 15,
)))

これがlighttpdからの私のサーバーステータスです。PHPが私が交渉したよりもずっと長く実行されていて、サーバーが詰まっていることがわかります。不思議なことに、私のmax-procsよりも多くのPHPprocsがあるようです。

legend
. = connect, C = close, E = hard error
r = read, R = read-POST, W = write, h = handle-request
q = request-start,  Q = request-end
s = response-start, S = response-end
388 connections
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhrhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhrhhhhhhhhhhhhhhhhhhhhhhhhrhhhhhhhhhhh
hhhhrhhhhhhhhhhrhrhhhrrhrhhhhhrhhhrhhhhhhrhhhrrrhr
rrhrrrhrhhhhrrhrrhhrrhrrhrrrrrrrrrrrrh

Connections
Client IP:  Read:   Written:    State:  Time:   Host:   URI:    File:
204.16.33.51    0/0 0/0 handle-req  1361    ... (a PHP script)
204.16.33.46    0/0 0/0 handle-req  1420    ... (another PHP script)
... gazillion lines removed ...

私が常にベビーシッターをする必要がない構成をセットアップするのを助けることができるどんな考えでも大いに感謝されるでしょう!

4

2 に答える 2

1

lighttpdでそれができるかどうかはわかりません。ただし、「スピナー」スクリプトを設定して、ハングしたプロセスを定期的にチェックし、それらを強制終了することはできます。

于 2008-12-17T15:33:29.397 に答える
1

おそらく、php.ini ファイルを編集して、そこにアクセス許可を設定するのが最善でしょう。

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 32M      ; Maximum amount of memory a script may consume (8MB)
于 2008-12-17T15:40:36.480 に答える