Duplicator ドキュメント

Duplicator のドキュメント、参考資料、チュートリアル

サーバータイムアウト問題のトラブルシューティング


Duplicator Proでサーバータイムアウトの問題でお困りですか?このガイドでは、サーバータイムアウト関連の問題を効果的にトラブルシューティングおよび解決するための実践的なソリューションを提供します。

まず、Duplicator Proの最新バージョンを使用していることを確認してください。 変更履歴 および システム要件 を確認してください。

概要: ホストビルドの中断問題への対処

タイムアウトの問題は、PHP、Webサーバー、またはデータベースプロセスの実行時間に制限を課す共有予算ホスティングプラットフォームで一般的に発生します。これらのタイムアウトは、Duplicatorログファイル(バックアップまたはインストーラーログ)を調べることで特定できます。正常に完了したログには「DONE PROCESSING」または「COMPLETE」と表示されますが、不完全なログは通常、ホストがプロセス実行時間に制限を課したことを示しています。

これに対処するために、一部のホストでは、許可された実行時間をデフォルトの制限を超えて延長する機能を提供しています。Duplicatorと互換性のある承認済みホスティングプロバイダーの包括的なリストについては、Duplicatorのホスティングリソースページを参照してください。

Duplicator LITE

Duplicator Liteのビルドプロセスはシングルスレッド設計として機能し、サイトがアーカイブされるまで連続して実行されます。Liteバージョンは最大4 GBのバックアップをビルドできますが、そのパフォーマンスは主にホスティング環境に依存します。Duplicator Liteは通常、ほとんどの予算ホストで500 MB未満のサイトで最もパフォーマンスを発揮します。タイムアウトまたはビルドの問題が発生した場合は、次の手順をお勧めします。

  1. サーバーアップグレード: 予算ホストは、より大きく、より複雑なサイトを処理する際に制限に直面する可能性があります。マネージドVPSまたは専用サーバーへのアップグレードは、多くの場合効果的なソリューションです。これらのシステムはより優れた制御を提供し、ホスティング企業からの優れたサポートを備えているため、バックアップおよび移行タスクのパフォーマンスが向上します。
  2. 設定の調整: 現在のホストおよびプラグイン内でのパフォーマンスを最適化するための戦略オプションがいくつかあります。これらの調整は、タイムアウトの問題を軽減し、全体的なビルドプロセスを改善するのに役立ちます。

Duplicator PRO

Proバージョンは、より大きなデータセットをより適切に処理するためにマルチスレッドアーキテクチャを使用しています。また、WordPressの完全なバックアップ/移行戦略を強化するのに役立つ、その他の優れた機能も多数搭載されています。

戦略1:プラグイン内部からのタイムアウト問題の解決。

Duplicator Lite Only

  1. 再試行: 「再試行」ボタンで複数回試してください。ビルド要求の最初のパスは、IOスキャンをキャッシュする必要があるため非常に遅くなります。2番目のパスは、一部のサーバーではIOシークがキャッシュされているため、はるかに高速です。
  2. アーカイブフラッシュ:  一部のWebサーバーでは、サーバーが一定時間後に応答をフラッシュしない場合、タイムアウトが増加してもプロセスはキルされます。設定メニューで「アーカイブフラッシュ」オプションを確認してください。これにより、フラッシュ応答を介して接続を維持しようとします。

Duplicator Lite & Pro

  1. SQLモードの切り替え: 別のデータベースビルドプロセスを試すことを検討してください。まず「Mysqldump」を試し、次に「PHPコード」を試してください。設定 » バックアップタブ » SQLモードを参照してください。
  2. フィルターの有効化: 多くの場合、画像/ムービー/PDFなどの大きなファイルを含むwp-content/uploadsフォルダーのような大きなデータソースに複数のディレクトリフィルターを作成するだけで、バックアップのビルドを完了させることができます。
  3. Enable DupArchive: A new format known as DupArchive has been Developed by Duplicator to overcome problems experienced on large sites and restricted host environments. Using DupArchive greatly diminishes the changes you will experience a timeout on backup builds.
    • Duplicator LiteでDupArchiveを使用する場合、バックアップサイズには500MBの制限があります。新しい形式を使用するには、次のように設定します。
    • Duplicator Lite » 設定 » バックアップ » アーカイブエンジン = DupArchive
    • Duplicator Pro » 設定 » バックアップ » アーカイブエンジン = DupArchive

大規模データベース: データベースが大きい場合は、 最適化 するか、使用されていない大きなテーブルを除外することを検討してください。

戦略2:Webサーバー構成の更新によるタイムアウト問題の解決。

以下のすべてのオプションは、Duplicator LiteとProの両方でタイムアウト問題を解決するのに役立ちます。これらの設定は、バックアップの作成とバックアップのインストールの両方に役立ちます。タイムアウトは3つの異なるレイヤーで制御できるため、それぞれを確認し、サーバー管理者に確認する必要があります。

ソリューション 1: PHPタイムアウト

PHPプロセッサは、スクリプトがタイムアウトし、特定の期間(通常は30秒)後に接続をキルします。この値は、ホスティングプロバイダーが許可する場合に調整できます。Duplicatorは、必要な権限があればこの値を変更しようとします。そうでない場合は、ホスティングプロバイダーと協力して問題を解決する必要があります。残念ながら、このレベルの制御は私たちの能力を超えています。

PHPタイムアウト問題の解決:

  • サーバーでPHPタイムアウトの可能性を解決する最も簡単な方法は、ホスティングプロバイダーに連絡し、PHP実行時間をデフォルトの30秒を超えて延長するソリューションを提供しているかどうかを確認することです。多くのホストではこの調整が許可されており、ドキュメントを参照する必要があります。
  • 一部のホストでは、ウェブサイトのルートフォルダーまたはplugins/duplicatorフォルダー内の.htaccessファイルに次の行を追加できます。
    php_value max_execution_time 0
    値を0に設定すると、時間制限はなくなります。

各ホスティングプロバイダーの運用方法は異なるため、この値をシステムで調整する方法については、直接お問い合わせください。解決策が提供されない場合、そのサーバーではタイムアウトの問題を修正できない可能性が高いです。そのような場合は、より強力なサーバー(VPSなど)にアップグレードする必要があるかもしれません。これは、より多くの処理能力を提供できます。あるいは、フィルターを使用してバックアップ全体のサイズを縮小することもできます。

注意: ホスティングプロバイダーがPHPタイムアウト制限が設定されていないと主張しているか、非常に高い値に調整したが、それでもタイムアウトの問題(ログファイルが途中で切れていることで示される)が発生している場合は、問題はWebサーバーレベルにある可能性があります。このような場合は、さらにトラブルシューティングを行うために、以下の「Webサーバー」セクションを参照してください。

解決策2:Webサーバーのタイムアウト

Webサーバーもスクリプトにタイマーを課し、特定の時間が経過すると接続を終了させることができます。この値は、ホスティングプロバイダーまたはサーバー管理者のみが変更できます。これが問題であると思われる場合は、ホスティングプロバイダーに連絡して、そのようなタイムアウトが設定されているかどうかを確認してください。この制限を直接調整することはできないため、この問題に関するリクエストを送信しないでください。

Webサーバーのタイムアウト調整:

一部のWebサーバーでは、サーバー管理者の支援なしにタイムアウトを変更できます。以下は、ApacheまたはLitespeedサーバーで機能する可能性のある構成の例です。

例1 – Apache Rewrite Rule: 次のRewriteRuleは、サーバーでの接続タイムアウトを防ぐのに役立ちます。.htaccessファイルに追加してください。

# Example .htaccess file inserted by customer control panel
SetENV PHPRC /home/username/public_html
# BEGIN WordPress
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
   RewriteRule ^$ - [E=noabort:1]
   ...
</IfModule>
# END WordPress

例2 – FastCGI設定: FastCGI(fcgi)を使用している場合は、次のものを.htaccessまたはサーバー構成ファイルに追加してください。

<IfModule mod_fcgid.c>
   AddHandler fcgid-script .fcgi
   FcgidIOTimeout 900
   ProcessLifeTime 7200
   IPCConnectTimeout 180
   IPCCommTimeout 7200
</IfModule>

例3 – Litespeed設定: Litespeedを使用している場合は、次のルールを.htaccessまたはLitespeed構成に追加してください。

<IfModule litespeed>
   RewriteRule .* - [E=noabort:1]
</IfModule>

または:

<IfModule Litespeed>
   RewriteEngine On
   RewriteRule .* - [E=noconntimeout:1]
   SetEnv noabort 1
</IfModule>

重要事項: これらの変更を行った後もタイムアウトの問題が引き続き発生する場合、またはホスティングプロバイダーがサーバーレベルのタイムアウトがないことを確認した場合は、より多くのリソースを持つサーバー(VPSなど)へのアップグレードを検討するか、ホスティングプロバイダーにさらに支援を求める必要があるかもしれません。

解決策3:データベースのタイムアウト

バックアップを作成していて、バックアップログが次のようなエントリでテーブルで突然停止することに気付いた場合:

…
02:55:06 done: wp_posts
02:55:06 start: wp_stats (1435897)

そして、それ以降のログ記録がない場合、SQL生成が失敗したことを意味します。解決するために試すことができることがいくつかあります:

データベースの回避策

  1. Option One: Clean Up and Optimize the Database.
    • WP-Sweepのようなプラグインをインストールして、未使用のデータをクリーンアップしてください。必ず修復および最適化設定を実行してください。または、phpMyAdminのようなツールを使用してデータベースの修復および最適化を実行することもできます。
  2. Option Two: Use mysqldump for Faster Database Backup
    • ホスティングプロバイダーがmysqldumpをサポートしている場合、このオプションを有効にすると、大規模データベースのバックアップ作成とインストーラーの時間が全体的に改善される可能性があります。設定メニューに移動し、「データベースのビルド」オプションを見つけて、「mysqldumpを使用」のチェックボックスをオンにします。このオプションはビルドフェーズではうまく機能しますが、インストーラーフェーズでは機能しません。
  3. Option Three: Use External Tools for Statistical Data
    • 失敗するテーブルのほとんどは、数百万件のレコードを持つログおよび統計データに関連しています。統計プラグインの代わりにGoogle Analyticsのような無料ツールを使用することを強くお勧めします。カスタムプラグインは追加のリクエストでサイトを遅くする可能性があり、Google Analyticsと同じレポート機能を提供しません。Google Analyticsはサイトのパフォーマンスにほとんど影響を与えません。
  4. Option Four: Temporarily Exclude Large Tables
    • データベースにログテーブルのような大きなテーブルがある場合は、一時的にバックアップしてビルドプロセスから除外してください(バックアップ作成時にステップ1で実行できます)。その後、必要に応じてテーブルを手動で再インポートできます。多くの場合、ログテーブルのデータは移行する必要がなく、安全に削除できます。
  5. Option Five: Increase Timeout or Script Processing
    • ホスティングプロバイダーと協力して、ApachePHP、およびMySQLのタイムアウトまたはスクリプト処理制限を増やしてください。これらの構成をサポートする承認済みのホストを使用することをお勧めします。これらのホストは一般的にスクリプトが問題なく実行を完了できるようにします。

その他の考慮事項:また、サーバーのディスク容量が不足する可能性があることに注意してください。これはタイムアウトの問題として現れる可能性があります。バックアップを作成する際にarchive.zipファイルを作成するために十分なディスク容量があることを確認してください。

解決策4:Cloudflareの問題とDuplicator

CloudflareがアクティブなときにDuplicatorがサーバータイムアウトを経験している場合、CloudflareのRailgun機能のタイムアウトに関連している可能性があります。この機能の詳細については、Cloudflare Error 524をご覧ください。

問題を解決するには、この機能を一時的に無効にしてからDuplicatorプロセスを実行してみてください。次の手順に従ってください:

  1. Cloudflareアカウントにログインします。
  2. 概要ページで「詳細設定」をクリックします。
  3. 「一時停止」をクリックします。
  4. インストーラーのデプロイを実行します。
  5. 完了したら、Cloudflareを再度オンにします。

これにより、Cloudflareが問題を引き起こしているかどうかを判断し、移行またはバックアッププロセスを続行できるようになります。

戦略3:手動タイムアウト回避策

バックアップタイムアウト

ログにデータベーススクリプトプロセスを通過したことが示されている場合、すべてのファイルをバックアップする際にタイムアウトが発生する可能性があります。ファイルバックアップ中に問題が発生した場合に試すことができる手順をいくつか紹介します:

  1. 大きなファイルの除外:ファイルフィルターセクションから、映画、大きな画像、またはその他のバックアップファイル(例:.zipまたは.tarファイル)などの大きなファイルを除外します。
  2. wp-content/uploads を除外: ディレクトリフィルターオプションに wp-content/uploads フォルダを追加します。新しい場所へのインストールが完了したら、これらのファイルをコピー/FTPで手動で戻すことができます。
  3. 2段階インストールを実行

インストーラー ステップ 1 タイムアウト

可能であれば、手動で移動できる大きなファイル/ディレクトリを除外して、より小さなバックアップを再構築してみてください(上記のバックアップタイムアウトを参照)。

ステップ1のオプションの下にある「手動展開」ステップを試してください。手動展開を実行する方法の詳細なガイドについては、これらの手順を参照してください。

こちらも参照: 「手動展開」を実行する方法、またはZipが無効な状態でインストーラーを実行する方法

インストーラー ステップ 2 タイムアウト

データベースがサーバーの設定に対して大きすぎる場合は、「データベースタイムアウト」の下のステップ/オプションを参照してください。

  1. Proユーザーのみ オプション»チャンキング»マルチスレッドリクエストを有効にして、SQLファイルをチャンク化します。
  2. セットアップ»アクション»手動SQL実行(高度)オプションを有効にします。これには、事前に手動でデータベースをインポートしておく必要があります。これは、ホストまたはphpMyAdminのようなツールがより大きなサイトをサポートしている場合に実行できます。

この記事は役に立ちましたか?


関連記事

保護されないまま、もう一日を無駄にしないでください

適切なWordPressバックアップなしで過ごす1時間ごとに、サイトはリスクにさらされます • WordPress移行の遅延ごとに、パフォーマンスと成長を失います

Get Duplicator Now
Duplicator プラグイン

お待ちください!
限定オファーをお見逃しなく!

お客様として、60% OFF になります

Duplicator をサイトで無料で試して、150万人以上の WordPress プロが私たちを信頼する理由をご覧ください。ただし、お待ちいただく必要はありません。この限定 60% オフは期間限定です。

or
Get 60% Off Duplicator Pro Now →