Teste de performance mrg realtime
-
Upload
rodrigo-missiaggia -
Category
Technology
-
view
175 -
download
0
description
Transcript of Teste de performance mrg realtime
Rodrigo MissiaggiaPlatform Technical LeaderRed Hat [email protected]@rmissiaggia
Performance Tuning para aplicação desenvolvida em Quickfix:
RHEL 5.6 vs RHEL 5.6 + MRG
Junho de 2011
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
Objetivo do “Performance Tuning”
● Atingir o “comportamento desejado”. Neste caso o comportamento desejado é:
“Baixa Latência, previsibilidade na entrega dos dados e transações”
Ambiente de Testes
Servidor Cliente(algoritmo)
Controle de Risco(regras de
negociação)
1 Gbits/s
1 Gbits/s
Colocation R7102 x x5570
24GB de RAM
R9104 x E7540
128 GB de RAM
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
Software Utilizado
http://www.quickfixengine.org/download.html
Configuração do Software
Servidor Cliente(algoritmo)
Controle de Risco(regras de
negociação)
1 Gbits/s
1 Gbits/s
Colocation
R7102 x x5570
24GB de RAMRHEL 5.6
Initiator
R9104 x E7540
128 GB de RAMRHEL 6.
Acceptor
Initiator – RHEL 5.6 sem Tuning
2743 6 2,9250%
6078 7 6,4812%
11041 8 11,7734%
17948 9 19,1386%
23495 10 25,0536%
17698 11 18,8720%
7360 12 7,8482%
2637 13 2,8119%
817 14 0,8712%
833 15 0,8883%
1149 16 1,2252%
Tempo total de execução → 93,779 segundos
Initiator – RHEL 5.6 ajustando3 7 0,0046%
1 8 0,0015%
4 9 0,0062%
4 10 0,0062%
6 11 0,0092%
235 12 0,3615%
12609 13 19,3967%
35453 14 54,5380%
13454 15 20,6966%
947 16 1,4568%
130 17 0,2000%
Tempo total de execução → 65,006 segundos
Initiator – RHEL 5.6 + Realtime
Tempo total de execução → 63,731 segundos
9663 13 15,1622%
30269 14 47,4949%
14982 15 23,5082%
5360 16 8,4103%
1151 17 1,8060%
361 18 0,5664%
629 19 0,9870%
712 20 1,1172%
439 21 0,6888%
113 22 0,1773%
15 23 0,0235%
1 24 0,0016%Ajustes de Bios no Hardware + Numactl + tunnings diversos + Realtime
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 RealtimeNã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.
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 TuningTempo total de execução → 93,779 segundos
Com Tuning + MRGTempo total de execução → 63,731 segundos
-32%
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 + MRGTempo 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 MRGTempo total de execução → 65,006 segundos
-2%