wordpress 記事投稿が遅い
受付中
回答 4
投稿
- 評価
- クリップ 1
- VIEW 3,137
wordpressで記事を執筆中
「接続が切断されました 再接続するまで保存を中断します。
念のため、お使いのブラウザー上でこの投稿をバックアップしています。」
と頻繁にでます
すぐに復旧するときもあれば何分待ってもダメな時もあります
その時は記事執筆中のページを閉じ、投稿一覧から
再度その記事を選択すれば直ります
上記の状態が起きないようにするにはwordpressかサーバーの設定をどうのように
すればいいのでしょうか?
以下のサイトを試しましたがダメでした
http://pasolavo.com/web/wordpress-disconnect.html
https://teratail.com/questions/25052
また、上記の現象がでなくても記事の投稿にかなりの時間がかかります
以前は遅くとも2~3分くらいで公開できていたのですが
現在では1記事を投稿するのに5分以上かかってしまいます
特に新しいプラグインを入れたり、削除したりはしていません
wordpressやテーマは最新版です
どこがボトルネックになっているのかわからないので、
公開を押してから、処理が完了するまで、
topコマンドの出力とかを確認したいのですが
Windows7 64bit Apache2.4.18でtop コマンドを実行たいのですが
topコマンドの実行方法とその結果の出力方法が分かりません
どのようにすればtop コマンドを実行し、その結果を出力することができますでしょうか?
サーバーは自宅サーバーでxeon w3520 quad core 2.67 ghz、メモリ8GBです
どのように設定を変更(サーバーやwordpress)したら改善しますでしょうか?
新たに最新PCを購入しサーバーを構築しなければ改善しないのでしょうか?
出来れば、サーバーを買い替えないで
記事投稿が遅くなるのを改善する方法はないでしょうか?
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+1
topコマンドは普通にサーバーへSSHでログインすればいつでも使用できますよ。
任意のタイミングでtopを実行すれば、その時点からモニタリングが開始されます。
一応確認ですが、電波状況が悪い等、といった環境的要因は無いでしょうか?
(本来はインターネット接続が切断された時などに出るエラーメッセージなので、そのケースの可能性も)
自宅サーバーでxeon w3520 quad core 2.67ghz、メモリ8GB
このスペックがあれば、コンスタントに月間100万PVを超えるWordPressサイトでも、特に特別なことをせず、割とサクサク動くので(これより低いスペックでこれくらいのアクセスを捌いているサイトもいくつかあります※専用orVPSに限り)
それだけ遅くなること、サーバー側が通信を切断するというケースで考えられるのは
- アクセスが非常に多い
- 同一サーバー内で他に重いプログラム、cronが動いている
- WordPressが推奨している以外の無茶な方法でカスタムをしている
- 特定のプラグインを複合で使用している(だいぶ無理やりなことをしているプラグインもちらほらあるので…)
WordPressの(コアの)問題というよりは、
ご自身で加えられたコード、プラグインに問題があるか
同一サーバーで他に動いているものが原因のように思います。
一応、WordPress側のボトルネックを見つけるのに適しているプラグインもあるので
紹介しておきます。(topコマンドでの検証と合わせてお使いいただくのがベターかと思います)
Prime Timeline
https://github.com/prime-strategy/prime-timeline
公式ディレクトリのものではありませんが、プライムストラテジーというオライリーの動物本でWordPress系の本を何冊か出版している会社が作成したプラグインです。
ロードされたPHPファイル、発行されたクエリ、通過したアクション・フィルター、発声んしたアクション、実行されたフックのコールバックなど、時系列にかなり細かくデータを出してくれるので結構便利です。
(注: 上記ゆえに実行中はかなり重くなりますので、計測時はメンテナンス表示、計測が終わったら停止することをわすれずに)
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
記述から、Win7上にApacheを導入して自宅サーバとしていると読み取りましたが、正しいですか?
windowsであれば、ctrl+alt+del で、タスクマネージャを起動して、プロセスを確認することで、topコマンドを叩くと同じようなことが可能です。
開発環境として、win上のApacheを利用することもありますが、激重な感じがします。
外部にサーバを借りたほうがよいかもしれないですね。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
WMICコマンドで状態を確認されてみてはいかがでしょうか?
CPUの使用率はどうですか?Winサーバーを使ったことがないのでわかりませんが、
以下のコマンドで確認できるかもしれません。
Windowsでしたら「Windows がなんか重いときにコマンドで調べる(WMIC PROCESS)」で検証に必要な情報を取得するコマンドがまとめられています。
WMIC PATH Win32_PerfFormattedData_PerfProc_Process WHERE "PercentUserTime > 10" GET Name,IDProcess,PercentUserTime /FORMAT:LIST
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
ワードプレスをホストしているだけのサーバーとして不要なプログラムはたくさん動いているでしょう
googledrivesync
spoolsv
GoogleCrashHandler.exe
SearchProtocolHost.exe
SearchIndexer.exe
wmpnetwk.exe
SearchFilterHost.exe
Hidemaru.exe
など。
止め方はインターネットで検索すれば出てくると思いますが、止めたことによる影響は自己責任でお願いします。
あた、自分のサーバーで動いているプロセスを全て晒すのは脆弱性を晒してしまう可能性があるのでご注意ください
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.36%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/05/01 15:57
>topコマンドは普通にサーバーへSSHでログインすればいつでも使用できますよ。
SSHでログインとは具体的には何かソフトをインストールするのでしょうか?
>一応確認ですが、電波状況が悪い等、といった環境的要因は無いでしょうか?
有線接続で光なので大丈夫だと思います
>アクセスが非常に多い
日に500PV位なのでそんなに多くはないと思っております
>同一サーバー内で他に重いプログラム、cronが動いている
自分としてはどれが重いプログラムなのか今一つ把握できておりませんが
wordpressで1ドメインのみで他には使用していません。
cronも特に設定していないので使用していないと思います
>WordPressが推奨している以外の無茶な方法でカスタムをしている
twentyfourteenでレイアウトの調整くらいで特に無茶な設定はしていません
>特定のプラグインを複合で使用している
身に覚えがあるのはカテゴリーを自動で割り当てるAuto Set Categoryが重くしてるのではないかと思っています
ただ、このプラグインは非常に重宝していました類似のプラグインがなく
どうしても使用しています
以下が記述なんですが、同じ機能で動作を軽くする記述はありますでしょうか?
<?php
/*
Plugin Name:Auto Set Category
Plugin URI:http://milkveil.com/
Description:本文中にカテゴリーと同じ文字列があった場合、そのカテゴリーをセットするプラグイン。
Version:1.0
Author:taku-k
Author URI:http://milkveil.com/
*/
function auto_set_category ( $post_id ) {
global $post;
$new_post = get_post( $post_id );
$content = $new_post->post_content;
/* ループ開始 全てのカテゴリーを1つ1つ調べる */
$cat_all = get_terms( "category", "fields=all&get=all" );
foreach($cat_all as $value):
/* もし本文にカテゴリーと同じ文字列があれば(デフォのカテゴリーを外してから)カテゴリーを付ける */
if ( stripos( $content, $value->name ) !== false ) {
wp_remove_object_terms( $post_id, 1, 'category' );
wp_add_object_terms( $post_id, $value->name, 'category' );
}
endforeach;
/* ループ終了 全てのカテゴリーを1つ1つ調べる */
/* もしカテゴリーが1つも無かったらエラーになるからデフォのカテゴリーを付ける */
$catcheck = get_the_category($post_id);
if ( is_array($catcheck) && count($catcheck) === 0 ) {
wp_add_object_terms( $post_id, 1, 'category' );
}
}
add_action( 'save_post', 'auto_set_category' );
2016/05/01 19:47
ターミナルソフトは使ってらっしゃらないのですか?
まぁ…使っていないにしてもCLI上でコマンド叩けば問題ないので
一度まず、CLI上でtopコマンドを試されることをおすすめします。
2016/05/01 20:55
2016/05/01 22:45
SSHの件、不勉強で申し訳ありません
現在は使用していません
>一度まず、CLI上でtopコマンドを試されることをおすすめします。
どのようにすれば、Windows7で
topコマンドを実行できますでしょうか?
2016/05/01 22:53
コマンドプロンプトでtasklist /Vで表示されたのですが
これをテキスト形式でデスクトップに保存するにはどうしたらいいのでしょうか?
2016/05/01 23:05
お騒がせしました、ありがとうございます
2016/05/02 00:50
完全に勘違いしていました…
不勉強で申し訳なかったのはこちらのほうです、「WindowsをWebサーバーとして運用する」というケースをほとんど知らなかったため早とちりしてしまいました、申し訳ございません。
なので、SSHとCLIのことは忘れてください。
しかしながら、Windowsをサーバーとして利用したこともなく、Windows自体正直詳しくないので何ともですが
他の回答者さんとのやりとりを見る限り、WordPressの動作にも問題がありそうに思います。xhprofや、先述のPrime Timelineを使用して各処理を追ってみられてはいかがでしょうか?
2016/05/02 13:04
tasklistでtopコマンドの表示のようなことはできましたが
正直どれがwordpressを重くしているのか不明です
以下で重くなっている原因等分かりますでしょうか?
イメージ名: System Idle Process
PID: 0
セッション名: Services
セッション#: 0
メモリ使用量: 24 K
イメージ名: System
PID: 4
セッション名: Services
セッション#: 0
メモリ使用量: 11,180 K
イメージ名: smss.exe
PID: 372
セッション名: Services
セッション#: 0
メモリ使用量: 1,224 K
イメージ名: csrss.exe
PID: 436
セッション名: Services
セッション#: 0
メモリ使用量: 9,776 K
イメージ名: csrss.exe
PID: 496
セッション名: Console
セッション#: 1
メモリ使用量: 19,588 K
イメージ名: wininit.exe
PID: 504
セッション名: Services
セッション#: 0
メモリ使用量: 5,892 K
イメージ名: winlogon.exe
PID: 552
セッション名: Console
セッション#: 1
メモリ使用量: 8,272 K
イメージ名: services.exe
PID: 600
セッション名: Services
セッション#: 0
メモリ使用量: 13,116 K
イメージ名: lsass.exe
PID: 608
セッション名: Services
セッション#: 0
メモリ使用量: 18,280 K
イメージ名: lsm.exe
PID: 616
セッション名: Services
セッション#: 0
メモリ使用量: 4,880 K
イメージ名: svchost.exe
PID: 716
セッション名: Services
セッション#: 0
メモリ使用量: 14,904 K
イメージ名: ekrn.exe
PID: 784
セッション名: Services
セッション#: 0
メモリ使用量: 186,100 K
イメージ名: nvvsvc.exe
PID: 804
セッション名: Services
セッション#: 0
メモリ使用量: 7,612 K
イメージ名: nvSCPAPISvr.exe
PID: 828
セッション名: Services
セッション#: 0
メモリ使用量: 6,328 K
イメージ名: svchost.exe
PID: 884
セッション名: Services
セッション#: 0
メモリ使用量: 13,948 K
イメージ名: MsMpEng.exe
PID: 980
セッション名: Services
セッション#: 0
メモリ使用量: 219,072 K
イメージ名: svchost.exe
PID: 396
セッション名: Services
セッション#: 0
メモリ使用量: 31,904 K
イメージ名: svchost.exe
PID: 428
セッション名: Services
セッション#: 0
メモリ使用量: 249,672 K
イメージ名: svchost.exe
PID: 416
セッション名: Services
セッション#: 0
メモリ使用量: 35,960 K
イメージ名: svchost.exe
PID: 868
セッション名: Services
セッション#: 0
メモリ使用量: 66,444 K
イメージ名: svchost.exe
PID: 1284
セッション名: Services
セッション#: 0
メモリ使用量: 12,936 K
イメージ名: TrustedInstaller.exe
PID: 1328
セッション名: Services
セッション#: 0
メモリ使用量: 54,052 K
イメージ名: svchost.exe
PID: 1608
セッション名: Services
セッション#: 0
メモリ使用量: 41,400 K
イメージ名: spoolsv.exe
PID: 1744
セッション名: Services
セッション#: 0
メモリ使用量: 11,600 K
イメージ名: svchost.exe
PID: 1784
セッション名: Services
セッション#: 0
メモリ使用量: 21,040 K
イメージ名: svchost.exe
PID: 2004
セッション名: Services
セッション#: 0
メモリ使用量: 20,932 K
イメージ名: svchost.exe
PID: 2044
セッション名: Services
セッション#: 0
メモリ使用量: 23,396 K
イメージ名: mysqld.exe
PID: 2052
セッション名: Services
セッション#: 0
メモリ使用量: 310,616 K
イメージ名: NisSrv.exe
PID: 2676
セッション名: Services
セッション#: 0
メモリ使用量: 17,592 K
イメージ名: svchost.exe
PID: 2936
セッション名: Services
セッション#: 0
メモリ使用量: 10,728 K
イメージ名: nvxdsync.exe
PID: 2432
セッション名: Console
セッション#: 1
メモリ使用量: 18,616 K
イメージ名: nvvsvc.exe
PID: 2428
セッション名: Console
セッション#: 1
メモリ使用量: 13,156 K
イメージ名: taskhost.exe
PID: 2952
セッション名: Console
セッション#: 1
メモリ使用量: 13,904 K
イメージ名: egui.exe
PID: 2604
セッション名: Console
セッション#: 1
メモリ使用量: 37,144 K
イメージ名: dwm.exe
PID: 2516
セッション名: Console
セッション#: 1
メモリ使用量: 36,960 K
イメージ名: explorer.exe
PID: 320
セッション名: Console
セッション#: 1
メモリ使用量: 118,484 K
イメージ名: GoogleCrashHandler.exe
PID: 3304
セッション名: Services
セッション#: 0
メモリ使用量: 564 K
イメージ名: msseces.exe
PID: 3344
セッション名: Console
セッション#: 1
メモリ使用量: 20,272 K
イメージ名: GoogleCrashHandler64.exe
PID: 3408
セッション名: Services
セッション#: 0
メモリ使用量: 528 K
イメージ名: GWX.exe
PID: 3428
セッション名: Console
セッション#: 1
メモリ使用量: 1,192 K
イメージ名: SearchIndexer.exe
PID: 3556
セッション名: Services
セッション#: 0
メモリ使用量: 132,616 K
イメージ名: Hidemaru.exe
PID: 3596
セッション名: Console
セッション#: 1
メモリ使用量: 7,680 K
イメージ名: wmpnetwk.exe
PID: 4072
セッション名: Services
セッション#: 0
メモリ使用量: 12,300 K
イメージ名: svchost.exe
PID: 4140
セッション名: Services
セッション#: 0
メモリ使用量: 26,468 K
イメージ名: httpd.exe
PID: 1324
セッション名: Services
セッション#: 0
メモリ使用量: 15,960 K
イメージ名: googledrivesync.exe
PID: 4812
セッション名: Console
セッション#: 1
メモリ使用量: 4,044 K
イメージ名: googledrivesync.exe
PID: 4840
セッション名: Console
セッション#: 1
メモリ使用量: 580,608 K
イメージ名: taskmgr.exe
PID: 10572
セッション名: Console
セッション#: 1
メモリ使用量: 13,860 K
イメージ名: taskhost.exe
PID: 10216
セッション名: Console
セッション#: 1
メモリ使用量: 9,628 K
イメージ名: httpd.exe
PID: 9416
セッション名: Services
セッション#: 0
メモリ使用量: 239,784 K
イメージ名: SearchProtocolHost.exe
PID: 9348
セッション名: Services
セッション#: 0
メモリ使用量: 11,864 K
イメージ名: cmd.exe
PID: 5596
セッション名: Console
セッション#: 1
メモリ使用量: 3,368 K
イメージ名: conhost.exe
PID: 10696
セッション名: Console
セッション#: 1
メモリ使用量: 10,600 K
イメージ名: SearchFilterHost.exe
PID: 6860
セッション名: Services
セッション#: 0
メモリ使用量: 8,712 K
イメージ名: tasklist.exe
PID: 10384
セッション名: Console
セッション#: 1
メモリ使用量: 6,092 K
イメージ名: WmiPrvSE.exe
PID: 9316
セッション名: Services
セッション#: 0
メモリ使用量: 6,680 K
2016/05/03 04:36 編集
なので、一旦先の回答でもお伝えしたWordPress側をチェックしてみられてはいかがでしょう?
お見受けする限り、タイムラインなどの解析はちょっと難しそうなので
手法を変えてチェックしてみてはいかがでしょうか?
1.テーマは自作でしょうか?
Yes → デフォルトテーマに変更→投稿を試す
※この段階で改善されていればテーマ側のphpに何らかの非効率な処理がある
2.一つ一つプラグインを停止しながら投稿を試していく(一つ投稿すると一つプラグインを停止)
※劇的に早くなったタイミングがあれば、その直前に止めたプラグインが原因(Auto set categoryを一度最初に停止した状態でチェックしてから、もう一度有効化し、今度はAuto set categoryを最後まで残しながら一つ一つ停止していく、という二段階を踏んだほうが良いかなと思います。)
おっしゃる通りAuto set categoryというものはどうあっても投稿保存が遅延するようなことをやっているプラグインではあります。(save_postにactionを挟んで、全カテゴリーの数だけ記事データ内を走査しながらカテゴリーの文字列と一致するものがあるか判定する+カテゴリーを設定する)
当然カテゴリー数が増えればループの回数も増え乗算的に保存まで時間が伸びる、記事の文字数が増えればその分走査の時間も伸びる…というものです。
実際どれだけのカテゴリー数があり、記事を何文字ほど書かれるのかは存じませんので一概には言えませんが、ただ、これだけでそこまで時間がかかるものなのかな…?という気がしなくもありません。
これ以外にも絶対に問題が無いとは言い切れ無いので、そのあたりも合わせてチェックしておくほうが順当だと考えます。
2016/05/07 01:49
一つ一つ調べていったら、Auto set category以外ではautoptimizeというプラグインが
原因のようでした
他のプラグインでもいくつか遅くするものがありましたが
劇的に遅くなるものではないため、我慢して使おうと思います
しかし、依然として、
wordpressで記事を執筆中
「接続が切断されました 再接続するまで保存を中断します。
念のため、お使いのブラウザー上でこの投稿をバックアップしています。」
と頻繁にでます
これはどのようにすれば解決するものなのでしょうか?
やはりPCを最新のものにするのが良いのでしょうか?
検索で以下のものが出てきたのですが
以下を導入したら変わるものなのでしょうか?
APC ( Alternative PHP Cache )
FastCGI
上記はPHPを高速化するものらしいのですが意味があるのでしょうか?
2016/05/15 00:15
情報があまりにも断片的な為、正確なことが言えませんが
先の回答ではちょっと言葉足らずだったところがありますね
・プラグインをすべて止めた状態でも「接続が〜」の症状が出ますか?
・プラグインをすべて止めても出る場合、デフォルトテーマでも同じ症状が出るのか?
の2点もお答えください。
そのメッセージが出続けているということは、これまでの返信内容でおっしゃってない「管理画面内に作用するプログラム」が他にもあるはずです。
>他のプラグインでもいくつか遅くするものがありましたが
>劇的に遅くなるものではないため、我慢して使おうと思います
こういったものが積もり積もって症状を引き起こしているのではないでしょうか?
そういった部分を検証するためにもこの回答の最初に言った2点がどうなのかという部分を明確にしていただく必要があります。
また、個人的な意見ですが、公開サイトをするなら
PCをどうこう、というよりちゃんとしたサーバーで運用されたほうがいいと考えます。
FastCGIは入っていないなら入れておいて損はないと思いますが、どれだけ差があるかは疑問です。
Cacheは多分今回の症状に対してはあまり意味が無いと思います。
2016/05/22 00:10
>・プラグインをすべて止めた状態でも「接続が〜」の症状が出ますか?
出ません
プラグインを複数使用しているため、遅くなっているようです
現状最低限使いたいプラグインだけ使用しているので
これ以上速くするのは現状では難しそうです
やはり速度を上げたいのであればハードを買い替えるのが無難なのでしょうか?
2016/05/22 00:29
どうしてもその構成で、というのならやっぱりちゃんとしたサーバーを借りて運用すべきかな…とも思います。
無料の試用期間があるサーバーもあるので、一度そちらで同じ環境を作成してみて
同じ症状が出なければ、やはり…というところかなと…。
2016/05/22 01:03
https://wordpress.org/plugins/p3-profiler/
上記のプラグインで一度どのプラグインがボトルネックとなっているプラグインなのか調べてみてはどうでしょうか。
最低限使いたいものだけ使っているとのことですが知っておいて損はないと思いますし、同等の機能をもった別のプラグインに乗り換えることで改善する可能性があるかもしれません。
2016/05/22 01:27 編集
一応、以前にPrime TimelineというP3 profilerより細かく調べられるプラグインは薦めさせていただきました。
とはいえ、P3のほうが簡易的とはいえグラフィカルで見やすいのでPrime Timelineでの解析が難しそうだったので、P3を使ってみるのも良いかもしれませんね。ありがとうございます。
2016/05/22 17:29
P3 profilerは導入していたのですが、ボトルネックとなっていものは
それでは検出されませんでした
ひとつずつプラグインを止めて検証した結果、
もっとも遅くなる原因のプラグインが見つかりました
manabufukai さん、コメントありがとうございます
Prime TimelineというP3 profiler、共に役立っています
有益な情報ありがとうございます