Qual distribuição é mais comumente usada para modelar o tempo de resposta do servidor?


16

Eu tenho um aplicativo baseado em servlet em que medo o tempo necessário para concluir cada solicitação desse servlet. Eu já calculo estatísticas simples como média e máximo; No entanto, gostaria de produzir uma análise mais sofisticada e, para isso, acredito que preciso modelar adequadamente esses tempos de resposta.

Certamente, digo, os tempos de resposta seguem uma distribuição bem conhecida, e há boas razões para acreditar que a distribuição é o modelo certo. No entanto, não sei o que essa distribuição deveria ser.

Lembre-se de Log-normal e Gamma, e você pode ajustar um dos tipos de dados de tempo de resposta real. Alguém tem uma visão sobre qual distribuição os tempos de resposta devem seguir?

Respostas:


16

A distribuição Log-Normal é a que eu acho melhor para descrever latências de tempos de resposta do servidor em toda a base de usuários durante um período de tempo.

Você pode ver alguns exemplos no site apropriadamente nomeado lognormal.com, cuja atividade é medir a distribuição da latência do site ao longo do tempo e muito mais. Não tenho afiliação com o site, exceto por ser um usuário feliz. Veja como é a distribuição; tempo de resposta (por exemplo, carregamento da página da web) versus número de respostas:

uma distribuição log-normal

Observe que neste gráfico, a escala de tempo de carregamento (eixo X) é linear. Se você alternar o eixo x para uma escala de log, a forma da distribuição pareceria mais normal (em forma de sino) no lado direito do pico.


Este PDF realmente parece um Fréchet na minha opinião.
usεr11852 diz Reinstate Monic

4

Exemplo de gráfico.  Veja o artigo para mais detalhes.

Minha pesquisa mostra que o melhor modelo é determinado por algumas coisas: 1) Você está preocupado com o corpo, a cauda ou ambos? Se não for "ambos", a modelagem de um conjunto de dados filtrado pode ser mais útil. 2) Você quer um muito simples ou muito preciso? ou seja, quantos parâmetros?

Se a resposta para 1 foi "ambos" e 2 foi "simples", Pareto parece funcionar melhor. Caso contrário, se 1 for "corpo" e 2 for "simples" - escolha um modelo erlang filtrado. Se 1 foi "ambos" e 2 foi "preciso", você provavelmente deseja um modelo de mistura gaussiana em seus dados no domínio do log - efetivamente um ajuste lognormal.

Eu tenho pesquisado isso ultimamente, e não achei o tópico suficientemente bem coberto na internet pública, então acabei de escrever uma postagem no blog detalhando minha pesquisa sobre esse tópico.


11
Obrigado pelo gráfico. Com base na distribuição tri-modal (aproximadamente) que você possui, acredito que essa não é uma configuração simples (servidor único). Você parece ter algum middleware ou back-ends mais lentos. Isso faz com que a resposta geral fique mais lenta quando o servidor voltado para o usuário aguarda a resposta dos subsistemas de back-end potencialmente armazenados em cache. Também não está claro o que os eixos X e Y representam. Você inverteu o tempo de carga (originalmente eixo X) e as contagens (originalmente eixo Y)?
Arielf

Obrigado pelo seu feedback! O conjunto de dados de origem era mais parecido com pings do que solicitações de serviço da web, mas eu acho que a distribuição trimodal se deve principalmente a duas coisas: 1) A principal assimetria bi-modal se deve a dois caminhos de rede, enquanto 2) a terceira O componente deve-se a cenários de recuperação de erros tcp. Mas isso é apenas um palpite ... meu foco principal era a utilidade empírica de vários modelos, não o processo e a teoria. Mas não tenho muita certeza do que você está perguntando sobre o eixo invertido ... você tem um exemplo de plotagem?
Andrew Charneski

Além disso, minhas desculpas pelo gráfico desleixado. O eixo x é microssegundos e o eixo y é a densidade de probabilidade. (Sim, eu sei ... desculpe ... ver o notebook para a ciência reprodutível.)
Andrew Charneski
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.