Quanto é que o agente de PHP Newrelico adiciona?

De modo algum, a NewRelic está a tomar o mundo de assalto com muitos destacamentos bem sucedidos. Mas quais são os contras de usá-lo na produção?

o agente de monitorização do PHP funciona como extensão. Se bem entendi, liga-se a outro serviço de agregação do sistema, que filtra os dados e os empurra para a nuvem Nova-Relíquia.

Isto significa simplesmente que funciona de forma transparente debaixo do capô. No entanto, isso é realmente verdade? Qualquer serviço de monitorização, análise de perfis ou API adiciona algumas despesas para toda a pilha. A extensão em si é de 0,6 MB, o que se soma a cada processo de php, isso não é muito assim minha preocupação é bastante CPU e IO.

woodzu.vipserv.org/ec2-with-newrelic.pnga imagem mostra a utilização da CPU em uma produção EC2 t1.micro instâncias com agente Newrélico (top blue one) e w/o agente (outras linhas)

    O que é que o NewRelic realmente faz para causar a sobrecarga adicional? Quais são os outros lados negativos ao usá-lo?
Author: WooDzu, 2014-03-28

2 answers

A sua quilometragem pode variar com base nas Configurações, na sua base de código de sites em particular, etc...

A sobrecarga adicional que estão a ver é menos a memória usada, mas o rastreamento e o perfil do vosso código php e a recolha de dados analíticos sobre ele, bem como o pedido de definição de DB. Basicamente, algumas despesas adicionais ligadas a cada chamada de função php. Você vê despesas gerais semelhantes se deixou o Xdebug ou o ZendDebugger a funcionar numa máquina ou a traçar perfis. Qualquer módulo utilizará alguns recursos, uma vez esse gancho profundamente para a análise de perfis pode ser o mais caro, mas eu vi Nova relíquia tem configurações de configuração para discar de volta como intensivamente os perfis de TI, então você pode ser capaz de clarear é atingido mais do que dizer Xdebug.

Tudo o que foi dito, com o módulo PHP compartilhado newrelic carregado com a configuração e configuração padrão de seu site, a latência de resposta geral do servidor da minha empresa subiu cerca de 15-20% em toda a linha quando ligamos para todas as nossas máquinas de produção. Só estou a falar de ... o tempo que leva para o php-fpm gerar uma resposta inicial. Nosso site é http://www.nara.me os Serviços newrelic-daemon e newrelic-sysmon também funcionam, mas duvido que tenham algum impacto no tempo de resposta. Não me interpretes mal, adoro uma nova relíquia, mas o sucesso na minha situação específica não me faz querer manter o módulo PHP a funcionar em todas as nossas máquinas equilibradas. Provavelmente vamos mantê-lo ligado a uma máquina o tempo todo. Nós planeamos manter a coisa do sysmon vai 100% e manter o módulo desativado, caso precisemos dele para resolução de problemas. O meu conselho é o seguinte:
  • embrulhe todas as chamadas para novas funções relíquia em {[[0]} para que o seu código possa correr sem erros se o novo módulo relíquia não estiver carregado
  • Se tiver vários servidores idênticos atrás de um loadbalancer a partilhar o mesmo código, só active o módulo php numa imagem para salvar o desempenho. Você pode manter o material do sysmon funcionando se você usar uma relíquia nova para presente.
  • Se tiver apenas um servidor, só active o módulo PHP partilhado quando precisar dele--quando estiver a traçar o perfil do seu código ou mysql, a menos que um sucesso de desempenho de 10-20% não seja

Uma outra coisa a lembrar-se de sua principal fonte de informação é a nova relíquia website: eles são pagos pelo número de máquinas que você está monitor, então não espere que eles para convencê-lo a não usá-lo em nada menos do que 100% de suas máquinas, mesmo se ele não for necessário. Acho que um dos FAQ's ou blogs declare basicamente você deve esperar algum impacto de desempenho, mas se você usá-lo um pretendido e corrigir os problemas que você vê a partir dele, você deve recuperar a latência perdida. Concordo, mas acho que quando resolveres os problemas, limita a exposição ao menor número necessário de servidores.

 5
Author: Ray, 2014-04-07 15:54:39
O agente não devia estar a acrescentar muito da forma como foi concebido. Devido ao nível de detalhes necessários para solucionar adequadamente o problema, esta parece ser uma boa pergunta a ser feita em https://support.newrelic.com
 0
Author: Walden, 2014-03-28 08:21:18