Sofá:possíveis razões para a diferença de 10x no teste de latência cbs-pillowfight, ao executar em modo cluster
-
21-12-2019 - |
Pergunta
Então comecei um teste simples,
cbs-pillowfight -h localhost -b default -i 1 -I 10000 -T
Pegou:
[10717.252368] Run
+---------+---------+---------+---------+
[ 20 - 29]us |## - 257
[ 30 - 39]us |# - 106
[ 40 - 49]us |###################### - 2173
[ 50 - 59]us |################ - 1539
[ 60 - 69]us |######################################## - 3809
[ 70 - 79]us |################ - 1601
[ 80 - 89]us |## - 254
[ 90 - 99]us |# - 101
[100 - 109]us | - 43
[110 - 119]us | - 17
[120 - 129]us | - 48
[130 - 139]us | - 23
[140 - 149]us | - 14
[150 - 159]us | - 5
[160 - 169]us | - 5
[170 - 179]us | - 1
[180 - 189]us | - 3
[210 - 219]us | - 1
[270 - 279]us | - 1
+----------------------------------------
Em seguida, um cluster foi criado adicionando este nó a outro nó i7.O bucket 'padrão' é definitivamente menor que 1 Gb, tem 1 réplica e 2 gravadores, flush não está definido.
Agora, o mesmo comando produz (ambos os hosts usados):
- 50% em 100-200 ns, 1% em 200-900 ns, 49% em 900ns para "1 a 9 ms!" Wtf.
Depois de adicionar a chave -r (proporção) definida para SETs de 90%,
- 25% em 100-200ns, 74% em 900ns, permanecendo em 900ns para "1 a 9 ms!"
Portanto, parece que o desempenho de gravação sofre muito no modo clusterizado;por que pode ser uma queda tão grande de 10x?A rede está limpa, não há serviços de alta carga em execução.
UPD1.
Esqueci de adicionar o case ideal:-r 100.
- 25% em 100-200 ns, 74% em 900 ns.
Isso me faz pensar que:
- A) o código de benchmark está bloqueando em algum lugar (leitura rápida não mostra sinais)
- B) o servidor está fazendo alguma mágica não registrada em SETs que não consigo entender para reconfigurar.Fator de replicação?Isso não é um absurdo para um pequeno conjunto de dados?É isso que estou tentando perguntar aqui.
- C) problema de rede.Mas o wireshark não mostra nada.
UPD2.
Parou os dois nós e os moveu para tmpfs.Para respostas "normais", obtive uma melhoria de 20ns.Mas as respostas lentas permanecem lentas.
..[cut]
50 - 59]us |## - 164
[ 60 - 69]us |#### - 321
[ 70 - 79]us |######## - 561
[ 80 - 89]us |########## - 701
[ 90 - 99]us |############ - 844
[100 - 109]us |########## - 717
[110 - 119]us |####### - 514
[120 - 129]us |##### - 336
[130 - 139]us |### - 230
[140 - 149]us |## - 175
[150 - 159]us |## - 135
[160 - 169]us |# - 81
..[cut]
[930 - 939]us | - 24
[940 - 949]us |## - 139
[950 - 959]us |##### - 339
[960 - 969]us |####### - 474
[970 - 979]us |####### - 534
[980 - 989]us |###### - 467
[990 - 999]us |##### - 342
[ 1 - 9]ms |######################################## - 2681
[ 10 - 19]ms | - 1
..[cut]
UPD3:captura de tela.
Solução
problema é "resolvido", alternando para a configuração de três nó na rede Gigabit.