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. 保守管理: 定期的なアーカイブや削除により、ストレージ効率を改善することができます。
関連記事: