Problème
L'utilisation de l'agent PHP New Relic dans AWS Fargate entraîne de mauvaises performances.
Explication
L'agent PHP s'appuie fortement sur la source d'horloge d'un système pour chronométrer les activités. En raison de la vérification constante de l'horloge, pour être efficace, l'agent PHP a besoin d'une source d'horloge basée sur vDSO afin que les appels répétitifs pour vérifier l'heure ne dominent pas les performances globales. Vous pouvez trouver plus de détails sur la façon de vérifier/modifier la source d'horloge ici.
Malheureusement, AWS Fargate impose la source d'horloge Xen qui ne prend PAS en charge vDSO. Malgré la disponibilité d'autres sources d'horloge, AWS Fargate vous interdit de modifier la source d'horloge en rendant le répertoire sys
en lecture seule. Il s'agit d'un problème ouvert avec Fargate concernant cette limitation.
Si Fargate est une exigence absolue, vous pouvez désactiver l'auto-instrumentation et instrumenter manuellement seulement quelques clés de transaction. En dehors de cela, étant donné que la source d'horloge est si importante pour la vérification du temps afin de collecter les métriques PHP, il n'existe actuellement aucune solution de contournement pour ce problème AWS. Certains clients ont réussi à utiliser l'agent sur les services AWS qui vous permettent de modifier la source d'horloge, tels que EC2 et Graviton.