Ir para conteúdo
GuiSal

Detectar problemas

Recommended Posts

Tenho 5 servidores rodando uma aplicação que atende dezenas de clientes e cada cliente tem suas personalizações.

 

Determinado momento e de forma esporádica, alguma ação causa um lentidão no meu ambiente. 

 

Os servidores estão atrás do loud balancer, o host são IIS 8.5 e a aplicação é spa C#.

 

A pergunta é: Como detectar a ação que causou o problema?

Chego até a detectar o servidor que ficou com muito processamento ou sem memória. Mas quando tento ver os logs para detectar o ponto, é difícil afirmar, tento ver por tempo de resposta e normalmente o tempo alto é devido ao efeito cascata do que o causador.

 

Pegando as várias requisições tente simular e nenhuma apresenta o mesmo comportamento. 

 

Alguém já passou por isso, alguma sugestão?

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi @GuiSal,

 

Instale uma ferramenta de monitoramento como o newrelic app. (https://newrelic.com)

Ele te dirá exatamente qual método, query ou endpoint está mais lento.

 

Neste caso, vai ser mais interessante monitorar a aplicação e não só o servidor.

 

As vezes simular isolado não basta mesmo.

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou testa ferramenta vlw.

Um dúvida com essa ferramento, consigo pega o conteúdo/parâmetros passado fora da url?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por rickbonini
      Olá, meu nome é Henrique, sou iniciante na área de programação e estou começando a fazer uns projetos simples no javascript, só pratica mesmo. Estou tentando fazer o exemplo clássico de tirar a média do aluno, pra mim , de novo iniciante na área, parece tudo certo, mas quando vou executar dá erro. Olhem e me dizem o que não estou vendo :) 
       
      alunos = []                  for (i=1; i<=1; i++) {             nome = prompt("Digite o nome do aluno.");             nota1 = parseInt(prompt("Digite a primeira nota do aluno " + nome));             nota2 = parseInt(prompt("Digite a segunda nota do aluno " + nome));             aluno = {                 nomes: nome,                 notas1: nota1,                 notas2: nota2,                 media: 0,                 situacao: ""             }             alunos.push(aluno)         }         for (i=0; i<alunos.length; i++){             alunos.media = (alunos.notas1 + alunos.notas2) / 2         }         media_all_alunos = 0;         for (i=0; i<alunos.length; i++) {             media_all_alunos = media_all_alunos + alunos.media         }             media_real = media_all_alunos / alunos.length             document.write("A média da classe: " + media_real + "<br>")         if (alunos.media>=6){             situacao = "Aprovado"         }         else if (alunos.media<=4){             situacao = "Reprovado"         }         else{             situacao = "Recuperação"         }         alunos.situacao = situacao           document.write("Aluno: " + alunos.nomes + "<br>");         document.write("1ª Nota:  " + alunos.notas1 + "<br>");         document.write("2ª Nota:  " + alunos.notas2 +  "<br>");         document.write("Média:  " + alunos.media + "<br>")         document.write("===================================================== <br>")                  alunos_Aprovado = 0;         alunos_Reprovado = 0;         alunos_rec = 0;         for (i=0; i<alunos.length; i++){             if (alunos.situacao == "Aprovado") {                 alunos_Aprovado = alunos_Aprovado + 1             }             else if (alunos.situacao == "Reprovado") {                 alunos_Reprovado = alunos_Reprovado + 1             }             else {                 alunos_rec = alunos_rec + 1             }         }         document.write("Alunos Aprovados: " + alunos_Aprovado + "<br>")         document.write("Alunos Reprovados: " + alunos_Reprovado + "<br>")         document.write("Alunos em Recuperação: " + alunos_rec + "<br>")  
    • Por Kaue Nicoletti Alves
      Trabalho em um site em Wordpress utilizando: PHP 7.0 e Microsoft-IIS/10.0. 
      O site está no ar e funcionando, porem ocasionalmente alguns erros aparecem no log, geralmente são erros relacionados as Constantes `__DIR__` e `__FILE__` atreladas a funções de require.
      require (__DIR__.'/file.php'); require_once (__DIR__.'/file.php'); require ( dirname(__FILE__).'/file.php'); require_once ( dirname(__FILE__).'/file.php'); require (__DIR__ . DIRECTORY_SEPARATOR . 'arquivo.php'); Os erros que são registrados são similares a estes:
       
       Mostra apenas metade do caminho que o `__FILE__` deveria receber:   
      // Função: require_once dirname( __FILE__ ) . '/file.php';     Erro: PHP Fatal error:  require_once(): Failed opening required 'D:\home\site\wwwroot\wp-content\themes/file.php' (include_path='.;C:\php\pear\') in D:\home\site\wwwroot\wp-content\themes\l on line 22 `__DIR__`não retorna nenhum caminho:
      //Função: require_once __DIR__ . '/file.php';     Erro: PHP Fatal error:  require_once(): Failed opening required '/file.php' Eu não consigo reproduzir o erro no meu servidor local, e no site principal o erro acontece aleatoriamente. Como faço para tratar esse tipo de erro ?
       
    • Por lucas01andre
      Olá pessoal, sou novo ainda no PHP e estou criando um sistema de cadastro, mas quando eu coloco para verificar se o usuário cadastrado já existe para que não haja usuários repetidos ele não verifica e cadastra usuários com o mesmo login. Já tentei muitas formas e nada ajudou, então decidi vir até aqui para receber alguma ajuda. Obrigado desde já! 
       
      <?php $user = $_POST['user']; $pass = MD5($_POST['pass']); $name = $_POST['name']; $connect = mysql_connect('localhost', 'root', ''); $db = mysql_select_db('astro'); $query_select = "SELECT user FROM users WHERE user = '$user'"; $resource = mysql_query($query_select) or die(mysql_error()); if($user == "" || $user == null){ echo "<center><br>PREENCHA TODOS OS DADOS</center>"; }else{ $query = "INSERT INTO users (name, user, password) VALUE ('$name','$user', '$pass')"; $insert = mysql_query($query, $connect); if($insert){ echo "<center><br>USUÁRIO CADASTRADO!"; }else{ echo "<center><br>ERRO AO REGISTRAR!</center>"; } } ?> Acima o código para que possam me ajudar melhor. 
    • Por Valnei Lakers
      Oi galera esse é meu primo tópico no fórum gostaria da ajuda de vocês eu tenho uma CMS que ela é adaptada para XAMPP e eu estou usando IIS, enfim, estou enfrentando dificuldades para passar o .htacess para web.config, não consigo passar RewriteRule pictures/(.*)_small.png pictures/$1.png para web.config, poderiam me ajudar?
    • Por Luck_.
      Fala galera tudo tranquilo ?  bem eu estava desenvolvendo um exercício para que eu pudesse estudar os conceitos já estudados por mim,porém me deparei com um erro que não consegui identificar o problema.
      O sistema é o seguinte, é mostrado um input text pro usuário digitar quantos valores ele deseja calcular, ai é criado a quantidade de inputs para o usuário calcular,ai digita os valores e logo depois
      ele escolhe a operação(somar,multiplicar e etc...) só que no caso na hora do cálculo ele só pega o primeiro valor e não faz o cálculo.
      pra entenderem melhor tirei as prints: obs as fotos está fora de ordem começa da última até a primeria.Acho que deu pra entender,o sistema não faz a soma  entre a quantidade de valores digitados,o sistema só imprimi o primeiro valor digitado.
      <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title>Primeiro Exemplo PHP</title> <style> .botao { background-color: #273747; color: white; padding: 8px; box-shadow: 2px 2px 1px #aaaaaa; } </style> </head> <body> <div> <form method="get" > Quantos valores deseja calcular ? <input type="text" name="tot"/><br/> <button type="submit" value="adicionar">Adicionar</button><br/> <?php $c = 1; $Tot = isset($_GET["tot"])? $_GET["tot"]:0; while($c <= $Tot) { echo " Digite o $c .0 valor: <input type='text' name='$c'/><br/>"; $c++; } ?> Escolha uma operação: <select name="op"> <option value="1">Somar</option> <option value="2">Multiplicar</option> <option value="3">Subtrair</option> <option value="4">Dividir</option> </select> <?php $soma = 0; $ope = isset($_GET["op"]) ?$_GET["op"] :2; switch($ope) { case 1: for($x = 1; $x <= $c; $x++) { $soma += isset($_GET[$x])? $_GET[$x]:"Vazio"; } echo $soma; } ?> </form> </div> </body> </html>  

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.