Para medir o consumo de banda, foi criada uma aplicação modelo que possui os seguintes objetos:
- 1000 displays;
- 1000 tags internos; e
- 1000 tags demo.
Exemplo: o TagInterno51 possui o seguinte tag associado: CInt(Dados2.TagDemo51.Value)
Por meio da análise dos logs de estatísticas do E3, é possível verificar o consumo de banda necessário para trafegar os pacotes.
Exemplo 1:
RECClient(1): Viewer connected to RAIMANN Sent=1891(115872B) Recv=1903(29164159B) Pending=0(0B) Elapsed=15:01.920 REC=v2.90 Remote=v4.0.043
Pacotes trafegados no intervalo de 5 minutos: 596
Pacotes trafegados por segundo: 1,98
Consumo de banda no intervalo de 5 minutos: 9252408B
Consumo de banda por pacote: 15525B = 15,5KB
Consumo de banda por segundo: 30843B = 31KB/s
Note que neste cenário a opção de nível de compressão dos pacotes do REC está desligada.
Ao refazer o teste, agora com o nível máximo de compressão dos pacotes do REC (9), teremos:
Exemplo 2:
RECClient(1): Viewer connected to RAIMANN Sent=1848(49709B/114468B) Recv=1851(2431899B/27975352B) Pending=0(0B) Elapsed=15:00.640 REC=v2.90 Remote=v4.0.043
Pacotes trafegados no intervalo de 5 minutos: 594
Pacotes trafegados por segundo: 1,98
Consumo de banda no intervalo de 5 minutos: 802383B
Consumo de banda por pacote: 1350B = 1,3KB
Consumo de banda por segundo: 2674B = 2,7KB/s
Com o nível máximo de compressão dos pacotes do REC, é possível verificar que o consumo de banda reduz bastante.
A tabela a seguir foi elaborada avaliando outros tipos de dados.
É importante ressaltar que a atualização de tags em tela não deve ser o gargalo. No caso de scripts que acessem o servidor (ou outros comandos síncronos), a latência pode fazer toda a diferença, mesmo que a banda disponível seja alta. Assim, acreditamos que os gargalos possam ser os seguintes:
- Tempo de troca de telas (envolve criação de links e eventualmente downloads de telas/bibliotecas e/ou recursos): é sensível à latência da rede. O aplicativo pode funcionar como uma rede bem lenta, dependendo do tempo aceitável para troca. Recomenda-se: Organizar as libs, e também eventualmente trocar recursos por versões menores.
- Tempo de execução de scripts que acessam o servidor (normalmente uma sequência de operações): é muito sensível à latência da rede. O aplicativo pode funcionar com uma rede lenta, dependendo do tempo aceitável para operação terminal. Recomenda-se: Uma construção mais criteriosa do aplicativo, por exemplo, movendo scripts para o servidor.