2016年06月22日
このエントリーをはてなブックマークに追加
Plesk コントロールパネルの画面がすごく遅いことに気づきました。
もともと負荷も大きくなりつつあったサーバーだったので、サーバーの能力的な問題なのか、それともプログラムの動作の問題なのか。。。色々調査をおこなってみました。

結論から言うと、以下の通りです。

本語版で[ウェブサイトとドメイン]タブと[ファイル]タブへのアクセスに時間がかかります

vmstat で負荷の状況を見てみました。
# vmstat -n 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 31360 2946020 325700 4698128 0 0 121 27 2 2 3 1 95 1 0
1 0 31360 2945472 325700 4698152 0 0 0 8 4283 550 1 1 99 0 0
0 0 31360 2943968 325700 4698152 0 0 0 8 4370 709 1 1 98 0 0
0 0 31360 2941336 325704 4698176 0 0 0 264 4517 851 1 1 98 0 0
0 0 31360 2942688 325708 4698176 0 0 0 440 5236 2249 8 4 88 0 0
0 0 31360 2942804 325708 4698168 0 0 0 0 4134 237 0 0 100 0 0
0 0 31360 2942812 325708 4698168 0 0 0 4 4189 365 0 1 99 0 0
0 0 31360 2942192 325708 4698172 0 0 4 0 4345 738 6 0 94 1 0
3 1 31360 2967448 325712 4698168 0 0 0 96 4326 723 1 1 98 0 0
0 0 31360 2967864 325712 4698196 0 0 0 4 4366 687 1 0 99 0 0
0 0 31360 2967732 325716 4698172 0 0 0 112 4162 237 0 0 99 0 0
0 0 31360 2967600 325716 4698172 0 0 0 0 4095 173 0 0 100 0 0
0 0 31360 2967576 325716 4698432 0 0 256 16 4213 345 0 0 99 0 0
0 0 31360 2967476 325716 4698816 0 0 512 0 4292 249 0 0 99 0 0
0 0 31360 2966668 325716 4699052 0 0 108 12 4611 732 1 1 98 0 0

io の値で bo がいつも100以上になっているのは気になっていました。※上記ではほとんど 0 でした。この記事を書くために値を取得したのですが、昼頃はそんなに負荷もないようです。午前中などは常に100を越えているような感じでした。
ただしこの値が負荷が高いのか・・そう言われると正直微妙な感じはします。

それ以外の値は、特に気になるような物はありませんでした。とくにサーバーのスペックを考えてもCPUなどはボトルネックにはなりにくく、やはりディスクが疑わしいと考えていました。


・Plesk をデバッグモードで実行する
デバッグモードで実行するために以下のファイルをコピーします。
# cp -p /usr/local/psa/admin/conf/panel.ini.sample /usr/local/psa/admin/conf/panel.ini

コピーしたファイルを編集します
# vi /usr/local/psa/admin/conf/panel.ini

コメントをはずす
[debug]

; Enable debug mode (do not use in production environment)
enabled = on

これで以下のファイルを監視します。
# tail -f /usr/local/psa/admin/logs/panel.log

すると以下のような行が出力されました。
[22-Jun-2016 11:35:59 Asia/Tokyo] PHP Notice: Undefined variable: 、; File: /usr/local/psa/admin/application/default/resources/languages/ja-JP/components/validators.php, Line: 127

[22-Jun-2016 11:35:59 Asia/Tokyo] Exception: PHP Notice: Undefined variable: 、; File: /usr/local/psa/admin/application/default/resources/languages/ja-JP/components/validators.php, Line: 127

このことから、何かPHPファイルでエラーがでていることが分かりました。
あとはこのエラーの出ているファイル名で検索します。

そして最初に挙げた plesk のサイトがヒットしました。

/usr/local/psa/admin/application/default/resources/languages/ja-JP/components/validators.php
'passwordStrength' => "このパスワードの強度は、サーバセキュリティポリシーを満たしていません。最低限のパスワード強度は「%strength%」です。数字、アルファベットの大文字/小文字、特殊文字(!、@、#、\$、%、^、&、*、?、_、~)を使用して、パスワードを強化してください。",
上記のドル記号についてバックスラッシュ(\マーク)でエスケープします。

/usr/local/psa/admin/application/default/resources/languages/ja-JP/components/password-meter.php
'specialChar1' => "特殊文字(!、@、#、\$、%、^、&、、?、、~ など)を 1 つ以上使用します。",
'specialChar2' => "特殊文字(!、@、#、\$、%、^、&、、?、、~ など)を 2 つ以上使用します。",
こちらも同様にバックスラッシュ(\マーク)でエスケープします。

これでサクッと動くようになりました。
英語で検索してたのですが、なかなか情報が出てこないわけですね。


stock_value at 12:46│Comments(0)TrackBack(0)技術:2016年 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔