2026年7月21日

2026年7月21日

WordPressのAPM(Elastic APM)でパフォーマンス監視

はじめに

ウェブサイトのパフォーマンスは、ユーザー体験を決定する重要な要素です。特にWordPressサイトでは、プラグインの過剰使用や大量のデータベースクエリなどによりパフォーマンスが低下することがあります。Elastic APMは、アプリケーションのパフォーマンスをリアルタイムで監視し、問題を迅速に解決するためのツールです。

症状・背景

このテーマが必要になる主な場面:

  • サイトのロード時間が長く感じる
  • ユーザーからの遅延に関するフィードバックが増えている
  • トランザクションの成功率が低下している
  • システムリソース(CPU、メモリー)の使用状況が不明確なため、問題を特定するのが難しい

手順・設定方法

ステップ1: Elastic APM ServerとAgentのインストール

# Elastic Stackの公式リポジトリを追加する
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'

# Elastic APM Serverをインストールする
sudo apt-get update && sudo apt-get install elastic-apm-server

# Elastic Agentをインストールする
curl -L https://artifacts.elastic.co/downloads/apm-agent/php/apm-agent-php-latest.tar.gz | tar xz --strip=1 -C /usr/local/

ステップ2: APM Serverの設定と初期化

# Elasticsearchに接続するための設定を変更する
sudo nano /etc/apm-server/apm-server.yml

# apm-server.ymlファイルで次の設定を追加または編集
# ポート番号(デフォルトは8200)
apm-server.bind: "localhost:8200"

# Elasticsearchのホストとポート
setup.kibana.host: "http://localhost:5601"
output.elasticsearch.hosts: ["http://localhost:9200"]

# APM Serverを再起動して設定を有効にする
sudo systemctl restart apm-server

ステップ3: WordPressサイトにElastic APMのPHP Agentをインストールする

# Composerを使用してElastic APM PHP Agentをインストールする
composer require elastic/apm-agent-php

# 設定ファイルを作成または編集
nano ./elastic-apm-config.yml

# 次のような設定を追加
server_url: "http://localhost:8200"
service_name: wordpress-site

ステップ4: APM Agentの実践とトラブルシュート

# php.iniにElastic APM PHP Agentを有効にするための設定を追加する
echo 'extension=apm.so' >> /etc/php/7.4/apache2/conf.d/apm.ini
echo '[elastic-apm]' >> /etc/php/7.4/apache2/conf.d/apm.ini
echo 'apm_server_url=http://localhost:8200' >> /etc/php/7.4/apache2/conf.d/apm.ini

# Apacheを再起動して変更を有効にする
sudo systemctl restart apache2

注意事項

  • APM Agentのインストールと設定は、サイトがダウンしないように適切な時間帯に行うことが重要です。
  • セキュリティ上の注意: ネットワーク外からのアクセスを制限するために、APM ServerとAgentの通信ポートをファイアウォールで保護してください。
  • パフォーマンス/運用上の注意: APMデータは大量になる可能性があるため、適切なストレージ容量を確保し、定期的にアーカイブまたは削除することを検討してください。

まとめ

1. 初期設定: Elastic APM ServerとAgentのインストールから開始します。

2. サーバーとの連携: ElasticsearchやKibanaとの統合により、監視データが一元管理されます。

3. PHP Agentの利用: WordPressサイトに直接組み込むことで、リアルタイムでパフォーマンスを追跡できます。

4. トラブルシュート: APMのログとメトリクスは、問題解決のための重要な情報を提供します。

5. 保守管理: 定期的なアーカイブや削除により、ストレージ効率を改善することができます。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ