質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • serverspec

    20questions

    serverspecは、Ruby製のサーバ環境テストケース作成ツールです。

エントリープロセス上限に達した時に対処

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 276

bemabema

score 9

前提・実現したいこと

サーバーがエントリープロセス上限に達した時に対処

初質問です。宜しくお願い致します。
サーバー素人のサイト運営者です。レンタルの共有サーバーを使っています。

日に何度かエントリープロセスという項目が上限に達し、508エラーが出ることもあり悩んでいます。
エントリープロセスがPHPなどの実行数というはなんとなくわかるのですが、
であればどうすれば減る(増やさせない)のかがわからないのです。

プランを上げる、別のサーバーを探すなどを検討していますが、
各サービスのサイト上で見ても転送量など情報ばかり載っていて、
この問題が解決できるかどうか判断できません。

現在のスペックがどこが不足しているかどうかも判断できない素人の私に、
どこを重視するべきか教えてほしいです。

例えばCPUのコア数が2はいくらなんでも少なすぎるとか、専用サーバーにしないと無理とか、
CDNの設定を見直したほうがいい、混んでる時間は記事投稿やサイト編集しないほうが良いなど、
なんでもいいのでアドバイスいただけないでしょうか。

発生している問題・エラーメッセージ

エントリープロセスという項目が上限に達する

試したこと

キャッシュ系プラグインの追加
cloudflareの採用

補足情報(言語/FW/ツール等のバージョンなど)

wordpress最新版
PHP7.0

使用サーバー:247-host
プラン:Business SSD small プラン
CPU Cores:2
Memory / RAM:2GB
エントリープロセス上限:50
同時アクセス数(アナリティクスリアルタイム):400-900 ※5.600程度でもこの問題が発生します


このサイト自体初めてなので、場にそぐわない内容かと思いますが
他に解決できる術がなく、藁にもすがる思いで質問させていただきました。
どうぞ宜しくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

同じレンタルサーバーを使ったことはないので、参考になるかわかりませんが...

数年前、エントリープロセス 20 で設定されているサーバを使っていたことがあります。
そのサーバーでは、エントリープロセス = Webサーバーから呼び出したプロセス数 という解釈のようでした。

アクセスログを確認すると 1秒間のphpファイルの実行数が 50〜60 を超えたあたりから 508が、よく出るようになっていたと思います。

ここまで、前置き。


まずは、現状がどのようになっているか分析が必要です。
調べ方としては、どの PHP ファイルが、多く実行されているかをアクセスログから調べて、そのファイルに対しての対策を検討します。

以下、一例...(WordPress と記載されているので。)

xmlrpc.php へのアクセスが多い場合、DoS 攻撃のターゲットにされている可能性があるので、「この機能を使用しているor必要か」を検討した上で、未使用・不要の場合は、アクセス禁止にするなどの対策を検討する。

アクセスの多いサイトであれば wp-cron.php 自動実行の無効化を検討する。
おそらく アクセス毎に wp-cron.php が呼び出されることを止めることで、2 割ぐらい余裕ができると思います。
wp-cron.php を止めると 予約投稿等の機能が動かなくなるので、システムの cron 等で wp-cron.php を呼び出して、定期的に実行させるようにします。

index.php のアクセスが多い場合の対策は、実行回数を減らすわけにはいかないので、実行速度を高速化する(実行時間を短くする)ことになりますが、何が原因で時間がかかるのかをしらべる必要があります。

  • データベースからの読み出しに時間がかかる。
  • プラグインが多くて、プログラムの処理時間が長い。
  • 外部サイトからデータを取得する通信時間が長い。

うちの場合は、最終的に StaticPress プラグインで、静的HTMLにすることにしました。

どのような WordPress サイトかわからないので、同じような対策ができるかわかりませんが、参考になれば幸いです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/10 11:39

    回答ありがとうございます。そうですよね。やはり分析しないといけませんよね。
    やることは
    1.なんらかの方法でサーバー(cPanel)からアクセスログを取得し
    2.どのphpファイルの負荷が高いかを調べ
    3.その必要性を確認し
    4.負荷が適当でない場合はアク禁などの対応をする
    5.場合によってはwp-cron.phpを無効にする記述を直接書き込み
    6.サーバー側(cPanel)でcronを別途設定する
    7.静的HTMLも検討する
    ですね。
    ログの取得などはきっとSSHというのでアクセスしたりするものと理解しました。
    かなりハードルは高そうですが、せっかく教えていただいたので頑張ってみます。

    ありがとうございました。アドバイス感謝致します。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    メールマガジンをバックグラウンドにて送信するためには?

    お世話になっております。 PHPにてメールマガジンを送信しようと考えておりますが、処理が重い場合などはバックグラウンドにて送信するよう、いくつかのサイトで勧められていました。 h

  • 解決済

    mb_send_mail関数について

    すいません。 情報が足らずに申し訳ありませんでした。 cent os7で自宅サーバで独自ドメインをとっておりphp+mysqlを動かしています。 centos5では動いていて

  • 解決済

    レンタルサーバーのスペックについて

    お世話になっております。 現在社用の専用サーバを借りて、仮想サイトを20ほど運営しています。 今回サイトの特性によってサーバを分割する話が出ております。 現状で切り出した

  • 受付中

    1人で使用するVPSでモジュール版phpを使用するデメリット

    速度がCGI版よりも高速といわれるモジュール版にしたいと考えているのですが、 1人だけでvpsを運用する場合は特にセキュリティ上デメリットは無いのでしょうか? また、モジュール

  • 解決済

    初心者に分かるドキュメントルートの説明

    ボールドテキストphpで制作したフリープログラムを近いうちに配布したいと思っていますが、そのプログラムはドキュメントルートに設置しなければ上手く作動しません。初心者に分かりやすく説

  • 解決済

    load averageが高い(3.00~4.75)がCPUの使用率は10%前後なのはどうして?

    お世話になります。サーバー関連は初心者です。 〜〜〜状況説明〜〜〜 現在、awsのec2にてサイトを運営しております。使用しているインスタンスはt2.medium(メモリ4

  • 受付中

    [PHP]複数のメードアドレスへ一斉送信

    ユーザーが1万人いるサイトを想定して、管理者が各ユーザーに一斉にお知らせメールを送る機能を実装したいと思います。そこで、ただ単純にmb_send_mail()関数を利用して、データ

  • 解決済

    サイトのPHPのコードを見る方法

    PHPで書かれているサイトでどういう風にPHPで書かれているのかを見たいのですが方法はありませんでしょうか? グーグルクロームのデベロッパーツールのエレメントだと <th>名前

同じタグがついた質問を見る

  • serverspec

    20questions

    serverspecは、Ruby製のサーバ環境テストケース作成ツールです。