問題
AWSFargateでNewRelicPHPエージェントを使用すると、パフォーマンスが低下します。
説明
PHPエージェントは、アクティビティのタイミングを計るために、システムのクロックソースに大きく依存しています。絶えずクロックをチェックするため、PHPエージェントを効果的に機能させるには、時間を確認するための反復的な呼び出しが全体的なパフォーマンスを圧迫しないように、vDSOベースのクロックソースが必要です。クロックソースの確認/変更方法の詳細については、こちらをご覧ください。
残念ながら、AWS Fargate では vDSO をサポートしていない xen クロックソースが必須です。他のクロックソースが利用可能であるにもかかわらず、AWS Fargate では、 sysディレクトリを読み取り専用にしてクロックソースを変更することを禁止しています。これは、この制限に関する Fargate の未解決の問題です。
Fargateが絶対的な要件である場合は、自動計測をオフにして、いくつかの重要なトランザクションのみを手動で計測できます。これ以外に、クロックソースはPHPメトリックを収集するための時間チェックにとって非常に重要であるため、現在、このAWSの問題に対する回避策はありません。一部のお客様は、EC2やGravitonなどのクロックソースを変更できるAWSサービスでエージェントを使用して成功を収めています。