# サーバーパフォーマンス

サーバーパフォーマンスは、WCPOS アプリケーションの速度と応答性に直接影響します。POS は多数の REST API 呼び出しを行うため、**サーバーの応答時間が主なボトルネック**です。POS の速度はホスティングの品質に大きく依存します。このガイドでは、組み込みのメトリクスとトラブルシューティング手法を使用して、サーバーパフォーマンスを監視、診断、最適化する方法を説明します。

## サーバーの最小要件[​](#minimum-server-requirements "サーバーの最小要件への直接リンク")

本番環境で応答性の高い POS を利用するには、少なくとも次の構成を推奨します。

CPU

<!-- -->

: 4 コア以上の CPU

RAM

<!-- -->

: 4 GB 以上

PHP

<!-- -->

: PHP 7.4+（8.x 推奨）

データベース

<!-- -->

: MySQL 8.0+ または MariaDB 11.x

ストレージ

<!-- -->

: SSD または NVMe

SSL

<!-- -->

: HTTPS が必要です — これがないと WooCommerce REST API は動作しません

共有ホスティングでは不十分な場合がよくあります

共有ホスティングでは、多数の同時 API 呼び出しを行う POS ワークロードに対して、PHP ワーカー数やメモリが不足することがよくあります。本番環境で POS を使用する場合は、**VPS またはマネージド WordPress ホスティング**を強く推奨します。`WordPress.com` のマネージドホスティングでも REST API の互換性問題が知られています（大規模なカタログで商品が 9〜10 点しか表示されないユーザーもいます）— 完全な互換性を確保するには、セルフホスト型の `WordPress.org` を推奨します。

### コミュニティで検証された最適化スタック[​](#community-validated-optimisation-stack "コミュニティで検証された最適化スタックへの直接リンク")

ユーザーからは、この組み合わせで POS のパフォーマンスが最も高いと報告されています:

* **MariaDB 11.4**（WooCommerce ワークロードでは MySQL より高速）
* **HPOS が有効** (下記参照)
* **LiteSpeed または Redis** オブジェクトキャッシュ
* **NVMe** ストレージ
* **PHP OPcache** が有効

## 503 エラー[​](#503-errors "503 エラーへの直接リンク")

503 エラーは常にサーバー側の問題です

`503 Service Unavailable` は **POS のバグではありません** — サーバーがリクエストを処理できなかったことを意味します。確認項目:

1. サーバー負荷と利用可能なリソース
2. PHP ワーカー (枯渇している可能性があります)
3. PHP メモリ上限 — **256 MB 以上**に増やしてください
4. 利用中の Web ホストのサーバーログ (ホストに問い合わせてください。アプリケーションから見えない情報を確認できます)

## WooCommerce バージョン互換性[​](#woocommerce-version-compatibility "WooCommerce バージョン互換性への直接リンク")

WooCommerce の更新により、まれに POS が動作しなくなることがあります。WooCommerce は必ず先に[ステージングサイト](/ja/support/troubleshooting/plugin-conflicts.md#before-you-start-use-a-staging-site)で更新し、最新の互換性修正が含まれるように WCPOS を常に最新の状態にしてください。

既知の問題:

* **WooCommerce 10.5.0** — POS での商品読み込みに問題が発生しました（症状: 約 10 件の商品しか表示されず、バーコードスキャンと検索が機能しなくなる）。また、実験的な商品キャッシュが導入され、**postmeta の肥大化**やメモリ不足を引き起こす可能性があります。**修正:** WCPOS を最新バージョンに更新してください（修正とクリーンアップ移行が含まれています）。または WooCommerce を [10.4.3](https://downloads.wordpress.org/plugin/woocommerce.10.4.3.zip) に戻してください。

WooCommerce の更新で POS が動作しなくなった場合は、プラグインの WordPress.org ページにある **Advanced** タブから WooCommerce を前のバージョンに戻し、問題を報告してください。

## サーバーメトリクスの理解[​](#understanding-server-metrics "サーバーメトリクスの理解への直接リンク")

WCPOS は、各データ取得操作（商品、注文、顧客など）でサーバーパフォーマンスメトリクスを自動的に収集します。これらのメトリクスは[ログ](/ja/support/logs.md)画面で確認できます。

### 一般的なサーバーメトリクス[​](#typical-server-metrics "一般的なサーバーメトリクスへの直接リンク")

```
{

  "total": "24692",

  "execution_time": "76.64 ms",

  "server_load": "[15.20605469,16.16357422,16.76806641]"

}
```

**内訳:**

* **`total`** - 処理されたレコード数（24,692 件の商品 ID）
* **`execution_time`** - 操作の完了にかかった時間（76.64 ミリ秒）
* **`server_load`** - 1 分、5 分、15 分のサーバー負荷平均

## サーバー負荷について[​](#server-load-explained "サーバー負荷についてへの直接リンク")

サーバー負荷は、さまざまな時間帯における平均システム負荷を表します。

* **最初の値** - 1分間の平均 (15.21)
* **2番目の値** - 5分間の平均 (16.16)
* **3番目の値** - 15分間の平均 (16.77)

### 負荷の解釈[​](#load-interpretation "負荷の解釈への直接リンク")

サーバー負荷の値は誤解を招く場合があるため、慎重に解釈する必要があります。

負荷値は誤解を招く場合があります

サーバー負荷の平均値は、必ずしもパフォーマンスと直接相関するとは限りません。十分なリソースがあり、適切に最適化されているサーバーであれば、負荷値が高く (15+) ても非常に応答性が高い場合があります。**負荷値だけでなく、実行時間を重視してください。**

**一般的な目安:**

* **CPUコア数に対する負荷** - 8コアサーバーで負荷が8.0の場合、全コアが使用されていることを意味します
* **継続的な負荷と一時的な負荷** - 短時間の急上昇は正常ですが、継続的な高負荷は問題を示している可能性があります
* **パフォーマンスの方が重要です** - 高負荷でも応答性の高いサーバーは、低負荷でも遅いサーバーよりも優れています

**注意すべき点:**

* **実行時間が増加している**
* **負荷が理由なく継続的に増加している**
* **高負荷と遅い実行時間の両方**が同時に発生している

## パフォーマンスベンチマーク[​](#performance-benchmarks "パフォーマンスベンチマークへの直接リンク")

### 実行時間の目安[​](#execution-time-guidelines "実行時間の目安への直接リンク")

| 操作           | 良好    | 許容範囲  | 不良     | 重大 |
| -------------- | ------- | --------- | -------- | ---- |
| **商品の取得** | < 100ms | 100-500ms | 500ms-2s | > 2s |
| **注文の作成** | < 200ms | 200-800ms | 800ms-3s | > 3s |

### レコード数に関する考慮事項[​](#record-count-considerations "レコード数に関する考慮事項への直接リンク")

実行時間は、レコード数に応じて妥当に増加する必要があります:

```
// Good scaling examples

{"total": "100", "execution_time": "15.2 ms"}    // 0.15ms per record

{"total": "1000", "execution_time": "89.4 ms"}   // 0.09ms per record

{"total": "10000", "execution_time": "234.1 ms"} // 0.02ms per record



// Poor scaling examples

{"total": "100", "execution_time": "500.0 ms"}   // 5.0ms per record

{"total": "1000", "execution_time": "8000.0 ms"} // 8.0ms per record
```

## パフォーマンス問題の診断[​](#diagnosing-performance-issues "パフォーマンス問題の診断への直接リンク")

### ステップ 1: ログを監視する[​](#step-1-monitor-the-logs "ステップ 1: ログを監視するへの直接リンク")

1. ナビゲーションドロワーから **ログ** を開きます
2. 時間のかかる操作（商品を同期、注文を作成など）を実行します
3. 対応するログエントリを探します
4. コンテキストを展開してメトリクスを確認します

### ステップ 2: メトリクスを分析する[​](#step-2-analyse-the-metrics "ステップ 2: メトリクスを分析するへの直接リンク")

**実行時間が長い + サーバー負荷が高い = サーバーリソースの問題**

```
{

  "total": "5000",

  "execution_time": "3500.0 ms",

  "server_load": "[12.45, 11.23, 10.87]"

}
```

*解決策: サーバーリソースを増やすか、サーバー設定を最適化します*

**実行時間が長い + サーバー負荷が通常 = プラグインまたはデータベースの問題**

```
{

  "total": "1000",

  "execution_time": "2800.0 ms",

  "server_load": "[1.23, 1.45, 1.67]"

}
```

*解決策: 遅いプラグインを特定するか、データベースクエリを最適化します*

**通常の実行時間 + 高いサーバー負荷 = サーバー全体の過負荷**

```
{

  "total": "2000",

  "execution_time": "150.0 ms",

  "server_load": "[8.90, 9.12, 8.45]"

}
```

*解決策: 他のプロセスによるサーバー負荷を減らすか、リソースをアップグレードします*

## 一般的なパフォーマンスの問題[​](#common-performance-problems "一般的なパフォーマンスの問題への直接リンク")

### 1. サーバーリソース不足[​](#1-insufficient-server-resources "1. サーバーリソース不足への直接リンク")

**症状:**

* サーバー負荷が継続的に高い（ほとんどのサーバーで > 4.0）
* すべての操作で実行時間が長い
* タイムアウトが頻発する

**解決策:**

* **CPU をアップグレードする** - コア数が多いほど、同時リクエストをより適切に処理できます
* **RAM を増やす** - ディスク I/O を削減し、キャッシュを改善します
* **SSD ストレージを使用する** - データベースのパフォーマンスを大幅に改善します
* **PHP 設定を最適化** - memory\_limit、max\_execution\_time を増やす

### 2. 遅いデータベースクエリ[​](#2-slow-database-queries "2. 遅いデータベースクエリへの直接リンク")

**症状:**

* サーバー負荷は通常なのに実行時間が長い
* 商品や注文の取得が特に遅い
* ログにデータベース関連のエラーコードがある

**解決策:**

* **WooCommerce HPOS を有効化** - データベース性能を最も大きく改善する方法
* **オブジェクトキャッシュを使用** - ホスティング環境で利用できる場合は Redis または Memcached
* **WordPress を最新の状態に保つ** - コアの更新にはデータベース最適化が含まれることがよくあります
* **投稿リビジョンを制限** - `define('WP_POST_REVISIONS', 3);` を wp-config.php に追加します

### 3. プラグインの干渉[​](#3-plugin-interference "3. プラグインの干渉への直接リンク")

**症状:**

* プラグイン更新後に突然パフォーマンスが低下する
* 特定の操作が他の操作より大幅に遅い
* サーバー負荷は通常なのに実行時間が長い

**トラブルシューティング:**

1. **ステージングでテスト** - WooCommerce と WCPOS 以外のすべてのプラグインを無効化する
2. **ベースラインを測定** - 最小限のプラグイン構成で実行時間を記録する
3. **段階的に有効化** - プラグインを1つずつ追加して原因を特定する
4. **プラグインフックを確認** - WooCommerce アクションにフックしているプラグインを探す

**問題が起きやすい一般的なプラグイン:**

* 商品操作中に負荷の高い SEO プラグイン
* 複雑な在庫管理システム
* リアルタイム分析/トラッキングプラグイン
* 品質の低いカスタムプラグイン

### 4. WordPress/WooCommerce の設定[​](#4-wordpresswoocommerce-configuration "4. WordPress/WooCommerce の設定への直接リンク")

**症状:**

* パフォーマンスが安定しない
* ログにメモリ関連のエラーが記録される
* 管理ダッシュボードが遅い

**最適化チェックリスト:**

* **PHP バージョン** - パフォーマンス向上のため PHP 8.0+ を使用する
* **WooCommerce HPOS** - 高性能注文ストレージを有効化する (下記参照)
* **WordPress キャッシュ** - 利用可能な場合はオブジェクトキャッシュを有効化する
* **WooCommerce 設定** - 商品画像サイズを最適化する

### WooCommerce 高性能注文ストレージ (HPOS)[​](#woocommerce-high-performance-order-storage-hpos "WooCommerce 高性能注文ストレージ (HPOS)への直接リンク")

最大のパフォーマンス改善

**HPOS は、WooCommerce に対して実施できる最も重要なパフォーマンス改善の 1 つです。** 注文を WordPress の投稿テーブルではなくカスタムデータベーステーブルに保存するため、注文数の多い店舗でパフォーマンスが大幅に向上します。

**メリット:**

* **注文クエリの高速化** - 最適化されたデータベース構造に注文を保存
* **データベース負荷の軽減** - 注文を投稿やページから分離
* **スケーラビリティの向上** - 大量の注文を効率的に処理
* **管理画面のパフォーマンス向上** - 注文管理画面を高速化

**有効化する方法:**

1. `WooCommerce > 設定 > Advanced > Features` に移動します
2. "高性能注文ストレージ" を有効化します
3. 移行プロセスに従う

**詳細情報:**

* [WooCommerce HPOS ドキュメント](https://woocommerce.com/document/high-performance-order-storage/)
* [HPOS 移行ガイド](https://woocommerce.com/document/high-performance-order-storage/#section-3)

## サーバー監視のベストプラクティス[​](#server-monitoring-best-practices "サーバー監視のベストプラクティスへの直接リンク")

### 1. 定期的なパフォーマンス確認[​](#1-regular-performance-checks "1. 定期的なパフォーマンス確認への直接リンク")

* **週次レビュー** - ログでパフォーマンスの傾向を確認します
* **ベースライン測定** - 通常の実行時間を記録します
* **ピーク時間帯の監視** - トラフィックが多い時間帯に監視します

### 2. パフォーマンスアラートを設定する[​](#2-set-performance-alerts "2. パフォーマンスアラートを設定するへの直接リンク")

次の警告サインを監視します:

* 実行時間が継続的に 1000ms を超える
* サーバー負荷 > 5.0 が長時間継続
* ログに頻繁なタイムアウトエラーが記録される

### 3. キャパシティ計画[​](#3-capacity-planning "3. キャパシティ計画への直接リンク")

成長傾向を追跡します:

* **レコード数の増加** - 商品、注文、顧客
* **パフォーマンス低下** - 実行時間の増加傾向
* **リソース使用率** - CPU、メモリ、ディスク使用量

## サーバー最適化戦略[​](#server-optimisation-strategies "サーバー最適化戦略への直接リンク")

### 1. WordPress/WooCommerce のベストプラクティス[​](#1-wordpresswoocommerce-best-practices "1. WordPress/WooCommerce のベストプラクティスへの直接リンク")

**HPOS を有効化:**

* WooCommerce のパフォーマンス改善で最も大きな効果がある単一の対策
* 詳細は上記の HPOS セクションを参照してください

**PHP 設定（ホスティング事業者に確認してください）：**

```
memory_limit = 512M

max_execution_time = 300

max_input_vars = 3000
```

**WordPress 設定：**

```
// In wp-config.php - limit post revisions

define('WP_POST_REVISIONS', 3);



// Enable WordPress debug logging if needed

define('WP_DEBUG_LOG', true);
```

### 2. ホスティングレベルの最適化[​](#2-hosting-level-optimizations "2. ホスティングレベルの最適化への直接リンク")

**オブジェクトキャッシュ：**

* Redis または Memcached を利用できるか、ホスティング事業者に確認してください
* 多くのマネージド WordPress ホスティングでは、これが自動的に提供されます

**PHP バージョン：**

* パフォーマンスを大幅に改善するには PHP 8.0+ を使用してください
* ほとんどのホスティング事業者では、PHP バージョンを簡単に切り替えられます

**サーバーリソース：**

* 十分な RAM を確保してください（最小 1GB、できれば 2GB+）
* SSD ストレージは、従来のドライブよりもデータベースのパフォーマンスを大幅に向上させます

## ホスティング別の注意事項[​](#hosting-specific-notes "ホスティング別の注意事項への直接リンク")

一部のホストや CDN では、POS が WooCommerce REST API に到達できるように設定が必要です:

| ホスト / サービス                             | 問題                                                                                                                    | 修正                                                                                                    |
| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| **ゴーダディ**                                | ウェブサイトファイアウォールが `/wp-json/` REST API 呼び出しをブロックします（*"Received 'undefined'"* のようなエラー） | `Website Security > Firewall > 設定 > Access Control > Allow URL Paths` → `/wp-json/` を追加            |
| **WP エンジン**                               | REST API を明示的に有効化する必要があります                                                                             | REST API を有効化します。必要に応じて、ファイアウォールで API エンドポイントを許可リストに追加します    |
| **クラウドフレア**                            | REST API リクエストをブロックする場合があり、API レスポンスをキャッシュすることもあります                               | ファイアウォールルールを確認します。`/wp-json/*` の**キャッシュをバイパス**するページルールを追加します |
| **WordPress.com（ワードプレス・ドットコム）** | REST API / 商品読み込みの互換性の問題（9〜10 個の商品しか表示されない）                                                 | 完全な互換性を得るには、自己ホスト型の WordPress.org を使用します                                       |
| **共有ホスティング**                          | 同時 POS 呼び出しに対して PHP ワーカー数が少ない / メモリが不足している                                                 | VPS またはマネージド WordPress ホストへ移行します                                                       |

セキュリティプラグイン（Wordfence など）も同様の方法で REST API をブロックする場合があります。完全な一覧と修正方法については、[プラグインの競合](/ja/support/troubleshooting/plugin-conflicts.md)を参照してください。

### HTTP 414 — URI が長すぎます[​](#http-414-uri-too-long "HTTP 414 — URI が長すぎますへの直接リンク")

大きなカート、またはチェックアウト URL に含まれるアクセストークンにより、サーバーの URL 長制限を超える場合があります（チェックアウトリクエストは `GET` を使用します）。これはブラウザー固有の場合があり、ブラウザーキャッシュによって悪化することがあります。

**回避策:** まずブラウザーキャッシュをクリアし、その後サーバーの URL 長制限を引き上げます:

* **Apache:** `LimitRequestLine 65536` で `httpd.conf` を設定
* **Nginx:** `large_client_header_buffers 4 65536;` で `nginx.conf` を設定
* 設定にアクセスできない場合は、ホスティングプロバイダーに調整を依頼してください。

## サポートを依頼するタイミング[​](#when-to-seek-help "サポートを依頼するタイミングへの直接リンク")

次の場合は、ホスティングプロバイダーまたは WordPress 開発者に連絡してください:

* **最適化を行ってもサーバー負荷が常に > 8.0**
* **単純な操作で実行時間が > 5000ms**
* **メモリエラー** がログに頻繁に表示される
* **データベースクエリーに常に > 2 秒かかる**

以下を提供してください:

* ログから取得したサーバーメトリクス
* 有効なプラグインの一覧
* サーバー仕様（CPU、RAM、ストレージの種類）
* WordPress と WooCommerce のバージョン

## 関連ドキュメント[​](#related-documentation "関連ドキュメントへの直接リンク")

[ログサーバーメトリクスへのアクセス方法と解釈方法](/ja/support/logs.md)

[チェックアウトのパフォーマンス支払い処理を最適化する](/ja/support/performance/checkout.md)

[エラーコードパフォーマンス関連のエラーコードを理解する](/ja/error-codes/.md)

[トラブルシューティング一般的なトラブルシューティングガイド](/ja/category/troubleshooting.md)
