O documento descreve um teste de desempenho ("performance tuning") de uma aplicação desenvolvida em Quickfix rodando em RHEL 5.6 com e sem MRG. O teste mediu a latência e o tempo de execução de mais de 894.000 transações. Os resultados mostraram uma redução de 32% no tempo total de execução quando usando RHEL 5.6 com configurações de tuning e MRG, em comparação a apenas RHEL 5.6.
1. Rodrigo Missiaggia
Platform Technical Leader
Red Hat Brasil
rmissiaggia@redhat.com
@rmissiaggia
Performance Tuning para aplicação
desenvolvida em Quickfix:
RHEL 5.6 vs RHEL 5.6 + MRG
Junho de 2011
2. Apresentação
● Objetivo do “Performance Tuning”
● Ambiente de Testes
● Software Utilizado
● Configuração do Software
● Latência medida do Hardware Dell R710
● Resumo dos Ganhos Obtidos
3. Objetivo do “Performance Tuning”
● Atingir o “comportamento desejado”. Neste caso
o comportamento desejado é:
“Baixa Latência, previsibilidade na
entrega dos dados e transações”
4. Ambiente de Testes
Servidor Cliente
(algoritmo)
Controle de Risco
(regras de
negociação)
1 Gbits/s
1 Gbits/s
Colocation R710
2 x x5570
24GB de RAM
R910
4 x E7540
128 GB de RAM
5. Software Utilizado
●Aplicação em C++ → “tradeclient” (desenvolvida com
Quickfix 1.3.3 e Fix versão 4.2)
● Simulando a execução de +894000 transações
http://www.quickfixengine.org/download.html
11. Latência de Hardware Medida
durante o Teste com MRG
Medição de latência utilizando o comando →
cyclictest -t1 -n -p99 -v | oscilloscope -s1000 >/dev/null
Obs: sem o Kernel Realtime
Não é possível medir a latência
com esta precisão.
Latência média de 1.672 us
(microsegundos) ou seja,
inferior a 2 us
Durante a execução
dos testes.
12. Resumo
1-9 transações por Ms 41,49%
10-15 trasações por Ms 56,35%
16-26 transações por Ms 2,17%
100,00%
1-9 transações por Ms 0,000031%
10-15 trasações por Ms 86,22%
16-26 transações por Ms 13,78%
100,00%
Sem Tuning
Tempo total de execução → 93,779 segundos
Com Tuning + MRG
Tempo total de execução → 63,731 segundos
-32%
13. Resumo
1-9 transações por Ms 0,000031%
10-15 trasações por Ms 86,22%
16-26 transações por Ms 13,78%
100,00%
Com Tuning + MRG
Tempo total de execução → 63,731 segundos
1-9 transações por Ms 0,03%
10-15 trasações por Ms 96,46%
16-26 transações por Ms 3,51%
100,00%
Com Tuning + Sem MRG
Tempo total de execução → 65,006 segundos
-2%