ホームページ >バックエンド開発 >PHPチュートリアル >Elasticsearch を使用して PHP アプリケーションのパフォーマンスを監視する方法
Elasticsearch を使用して PHP アプリケーションのパフォーマンス監視を実行する方法
はじめに:
PHP アプリケーションを開発および保守するとき、多くの場合、パフォーマンスを監視し、問題を迅速に発見して解決する必要があります。 Elasticsearch は、データの検索だけでなく、ログの分析や監視にも使用できる強力なオープンソースの検索エンジンです。この記事では、PHP アプリケーションのパフォーマンス監視に Elasticsearch を使用する方法を学び、コード例を使用してその方法を示します。
use ElasticsearchClientBuilder; // 创建Elasticsearch客户端 $client = ClientBuilder::create()->build(); // 创建索引 $client->indices()->create([ 'index' => 'php_performance_monitoring', ]); // 定义映射 $client->indices()->putMapping([ 'index' => 'php_performance_monitoring', 'body' => [ 'properties' => [ 'timestamp' => ['type' => 'date'], 'duration' => ['type' => 'float'], 'endpoint' => ['type' => 'keyword'], 'response_code' => ['type' => 'integer'], ], ], ]);
上記のコード例では、「php_performance_monitoring」という名前のインデックスを作成し、データ フィールドを記録するために必要なパフォーマンス モニタリングを含むマッピングを定義しました。
use MonologLogger; use MonologHandlerElasticsearchHandler; // 创建Monolog日志实例 $logger = new Logger('performance'); // 创建Elasticsearch处理程序 $handler = new ElasticsearchHandler($client, [ 'index' => 'php_performance_monitoring', 'type' => 'log', ]); // 添加处理程序到日志实例 $logger->pushHandler($handler); // 记录性能监控数据 $logger->info('Performance monitoring', [ 'timestamp' => time(), 'duration' => 0.753, 'endpoint' => '/api/v1/users', 'response_code' => 200, ]);
上の例では、Monolog ライブラリを使用してログを処理しました。 Elasticsearch ハンドラーを作成し、ロギング インスタンスに追加しました。その後、info
メソッドを使用して、タイムスタンプ、リクエスト期間、エンドポイント、応答コードなどのパフォーマンス監視データをログに記録できます。
// 构建查询 $query = [ 'index' => 'php_performance_monitoring', 'size' => 10, 'body' => [ 'query' => [ 'match' => [ 'endpoint' => '/api/v1/users', ], ], 'sort' => [ 'timestamp' => [ 'order' => 'desc', ], ], ], ]; // 执行查询 $response = $client->search($query); // 处理查询结果 foreach ($response['hits']['hits'] as $hit) { $timestamp = $hit['_source']['timestamp']; $duration = $hit['_source']['duration']; $responseCode = $hit['_source']['response_code']; // 处理结果数据 echo "Timestamp: " . date('Y-m-d H:i:s', $timestamp) . PHP_EOL; echo "Duration: " . $duration . "s" . PHP_EOL; echo "Response Code: " . $responseCode . PHP_EOL; echo PHP_EOL; }
上記のコード例は、特定のエンドポイントのパフォーマンス データを取得し、クエリ結果を処理するクエリを構築する方法を示しています。
概要:
Elasticsearch を使用して PHP アプリケーションのパフォーマンス監視を実行すると、パフォーマンス データを迅速に記録して分析し、潜在的なパフォーマンスの問題を発見して解決することができます。この記事では、Elasticsearch をインストール、構成、使用してパフォーマンス データを記録する方法を学び、コード例を通じてこのデータをクエリおよび分析する方法を示しました。この記事が PHP アプリケーションのパフォーマンス監視に役立つことを願っています。
以上がElasticsearch を使用して PHP アプリケーションのパフォーマンスを監視する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。