人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPが次第に遅くなるという現象に関してです。
さくらVPS上に、PHP、MYSQL、Apacheをインストールし、PHPを定期実行させています。(5分おき)。
PHPであるページの情報を取得し、それをMYSQLに保存するような内容です。

処理自体は当初2秒位で終わるのですが、処理の回数が増えるにしたがって、だんだんと処理時間が伸びていきます。

24時間もたつと数十秒かかるようになります。



サーバを再起動すると、また当初のように処理時間は短くなります。



お伺いしたいことは、これが発生する原因としては、どのような仮説が考えられるでしょうか。解決する方法も教えていただけると嬉しいです。

よろしくお願い致します。

●質問者: tomohirof
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● oil999
●50ポイント

PHPリクエストを実行しているApacheプロセスが生き残ったまま次のリスクエストに入っているのではないでしょうか。
apache_child_terminate関数でプロセスを切ってみてください。
http://php.net/manual/ja/function.apache-child-terminate.php


tomohirofさんのコメント
ありがとうございます!実行してみます!

2 ● taroe
●50ポイント

実際に、どの部分がどの程度の時間がかかっているかを
調べたほうが良いと思いますよ。

1回のリクエストで2秒とか、10秒とか言っても
どの部分がネックになてるとかがわからないわけですから。



■コネクションとかの
DB接続のためのコネクションとかその周り系
コネクションプールとか使ってる場合とか・・・。
このあたりで、待ちが生じて時間がかかっている場合。


■ループしてるなら
>PHPであるページの情報を取得し、それをMYSQLに保存するような内容です。

ループとかしてるののなら
毎回のリクエストで、何回ループしてるのかを出力して確認してください。

処理秒数と比例する回数、ループしていることもあり得ます。


変数が破壊されてとか
初期化をしてないとか
そういうのもあり得るかと。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ