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

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

ただいまの
回答率

88.77%

wordpress、apacheのメモリリーク?

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 998

ruuusaamarki

score 452

実現したいこと

原因を知りたいです。
再発も防ぎたいです。

起こった問題、現象

wordpress管理画面が重たくなりました。
特に直前作業は行っておらず、アクセスが急増したということもありませんでした。
具体的にはページ遷移時にも(例えば新規投稿ページへ移動だけするような時も)
読み込みに3分くらいかかるようになりました。

AWS beanstalkコンソール画面左メニューのログから
最後の100件を取得ができなくなりました。

エラーメッセージ

以下beanstalkコンソール画面ダッシュボード
最近のイベントに出ていたエラーになります。

Environment health has transitioned from Ok to Warning. 1 out of 1 instances are impacted. See instance health for details.

以下のエラーはたまに出ていました
Environment health has transitioned from Ok to Warning. 100.0 % of the requests are erroring with HTTP 4xx. Insufficient request rate (18.0 requests/min) to determine application health. 1 out of 1 instances are impacted. See instance health for details.

Apacheプロセス

EC2にSSHしてプロセスを確認したところ以下が気になりました。

webapp    6506  0.0  1.0 677910 10216 ?        S    feb21   0:00 /usr/sbin/httpd -D FOREGROUND
webapp    6507  0.0  1.0 677910 10184 ?        S    feb21   0:00 /usr/sbin/httpd -D FOREGROUND
webapp    6508  0.0  1.0 677910 10188 ?        S    feb21   0:00 /usr/sbin/httpd -D FOREGROUND
webapp    6509  0.0  1.0 677910 10188 ?        S    feb21   0:00 /usr/sbin/httpd -D FOREGROUND
webapp    6511  0.0  1.0 677910 10212 ?        S    feb21   0:00 /usr/sbin/httpd -D FOREGROUND
webapp    6512  0.0  1.0 677910 10212 ?        S    feb21   0:00 /usr/sbin/httpd -D FOREGROUND
webapp    6513  0.0  1.0 677910 10212 ?        S    feb21   0:00 /usr/sbin/httpd -D FOREGROUND
webapp    6514  0.0  1.0 677910 10212 ?        S    feb21   0:00 /usr/sbin/httpd -D FOREGROUND
root      7265  0.0  0.7 117872  7140 ?        Ss   03:55   0:00 sshd: ec2-user [priv]
ec2-user  7275  0.0  0.3 117872  3726 ?        S    03:55   0:00 sshd: ec2-user@pts/0
ec2-user  7292  0.0  0.3 115504  3564 pts/0    Ss   03:55   0:00 -bash
root      9134  0.5  2.3 230952 23824 ?        Ss   04:41   0:00 /usr/bin/python2.7 /opt/aws/bin/cfn-hup
ec2-user  9159  0.0  0.2 117216  2548 pts/0    R+   04:42   0:00 ps aux
root     11105  0.0  0.0      0     0 ?        S    feb25   0:02 [kworker/u30:2]
webapp   14055  0.0  1.0 678032 10228 ?        S    feb25   0:00 /usr/sbin/httpd -D FOREGROUND
webapp   14609  0.0  8.1 820304 72080 ?        Sl   feb25   1:13 /usr/sbin/httpd -D FOREGROUND
root     17421  0.0  0.0  11604   224 ?        Ss    2018   0:00 /bin/sh -e /dev/fd/11
root     17428  0.0  2.7 678032 28144 ?        S     2018  11:49 /usr/sbin/httpd -D FOREGROUND
root     17429  0.0  0.0   4324    72 ?        S     2018   0:00 tee /var/log/httpd/error_log
webapp   17557  0.0  7.6 811892 78171 ?        Sl   feb26   1:03 /usr/sbin/httpd -D FOREGROUND
webapp   17559  0.0  8.3 820604 85124 ?        Sl   feb26   1:04 /usr/sbin/httpd -D FOREGROUND
webapp   17582  0.0  8.0 1014056 81656 ?       Sl   feb26   1:07 /usr/sbin/httpd -D FOREGROUND
webapp   17147  0.0  8.3 820288 85372 ?        Sl   feb26   1:07 /usr/sbin/httpd -D FOREGROUND
webapp   17158  0.0  1.0 678032 10228 ?        S    feb26   0:00 /usr/sbin/httpd -D FOREGROUND
webapp   17159  0.0  1.0 678032 10228 ?        S    feb26   0:00 /usr/sbin/httpd -D FOREGROUND
webapp   17160  0.0  1.0 678032 10228 ?        S    feb26   0:00 /usr/sbin/httpd -D FOREGROUND
webapp   17161  0.0  1.0 678032 10228 ?        S    feb26   0:00 /usr/sbin/httpd -D FOREGROUND

このEC2ではwordpressが一つのみ起動しているのですが
21日に起動しているプロセスと26日に起動しているプロセスがあり
wordpressの多重起動なのかなと予想をしています。

ApacheのErrorログ

apacheのログで気になっている部分です。

[Tue Apr 02 00:14:15 2019] [authz_core:error] [pid *****] [client ***.**.**.***:*****] AH01630: client denied by server configuration: /var/www/html/server-status, referer: http://www.baidu.com
[Sat Apr 20 00:20:10 2019] [php7:error] [pid 16452] [client ***.**.**.***:*****] script '/var/www/cgi-bin/wp-side.php' not found or unable to stat, referer: example.com

mmap() failed: [12] Cannot allocate memory

mmap() failed: [12] Cannot allocate memory

mmap() failed: [12] Cannot allocate memory
[Sun Apr 21 04:23:23 2019] [php7:error] [pid ****] [client ***.**.**.***:*****] PHP Fatal error:  Out of memory (allocated 2021564) (tried to allocate 145432 bytes) in /var/app/current/wp-includes/pomo/mo.php on line 272, referer: https://example.com/wp-admin/post.php?post=***&action=edit

試したこと

1.beanstalkのコンソールで最終のzipファイルから再度デプロイをしてみました。
問題は解消されず、確かEC2インスタンスも再度作りかえられず同じものだったと思います。

2.EC2にSSH接続してsystemctl restart httpdを実行しました。
ここでプロセスを確認するとhttpdのものは前述の約半分になっており
管理画面の速度、beanstalkのログ取得も可能になりました。

3.その後wpのバージョンを上げebコマンドにて再度デプロイをしました。
ここでEC2は新しいインスタンスとして作りかえられ現在問題なく動作はしています。

あと調査してみるとwordpressでパーマリンク設定中に
リンク切れでworpdressが多重起動する問題があること。
wordpress4.9.7コアにメモリリークのバグがあったことがわかりました。

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

問題が起こった際にwordpressのバージョンが4.9.8でしたので
試したことの3でwordpress4.9.10に上げました。

質問

現状問題は解消できたのですが原因がはっきりしておりません。
予想として
Apacheの設定
wordpressコア
wordpressプラグイン
wordpressテーマ
などが原因なのかと予想しておりますが
原因の推測がつく方がおりましたらご教授いただきたく投稿させていただきました。

またこんな調査をしたら良いのでは?
こんなテストをすると原因がつかめるかも
などのアドバイスもいただけましたら幸いです。

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

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正の依頼

  • CHERRY

    2019/05/05 14:44 編集

    AWS Elastic Beanstalk のログではなく、実際に Apache が稼働しているEC2インスタンスの各ログの内容がわからないと原因の特定は難しいと思いますが、EC2 側のログを取得することは可能でしょうか?

    また、PHPのバージョンはいくつでしょうか?

    キャンセル

  • ruuusaamarki

    2019/05/06 12:08

    コメントありがとうございます。apacheのログで残っているものを追記してみました。PHPバージョンは7.1でした。他にも不足情報がありましたらお手数ですがご教授いただければ幸いです。

    キャンセル

まだ回答がついていません

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

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

関連した質問

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