Cenário: COP como servidor, SOLDIER como cliente. Foram utilizados dois cenários de rede:
Aplicativo servidor adaptado: thttpd versão 2.25b
Aplicativo cliente adaptado: httperf versão 0.8
Em SCTP, foram feitos testes com 1, 10 e 100 fluxos simultâneos, que correspondem respectivamente a 1, 10 ou 100 arquivos transmitidos por associação. Em TCP, é utilizada sempre uma conexão por arquivo, pois o servidor thttpd, como de resto a maioria dos clientes e servidores HTTP, não implementa pipelining.
Tam. arquivo | TCP | SCTP - 1 fluxo | SCTP - 10 fluxos | SCTP - 100 fluxos |
---|---|---|---|---|
100 | 1008,7 | 537,6 | 1243,9 | 2221,3 |
1000 | 2315,0 | 1458,6 | 4043,1 | 6281,7 |
10000 | 7688,2 | 5613,4 | 6397,2 | 9954,1 |
100000 | 10693,3 | 10226,1 | 8880,5 | 11314,1 |
Tamanhos de arquivo em bytes, vazão em KBytes/s (1KByte = 1024 bytes)
Tam. arquivo | TCP | SCTP - 1 fluxo | SCTP - 10 fluxos | SCTP - 100 fluxos |
---|---|---|---|---|
100 | 3,3 | 2,2 | 39,4 | 88,9 |
1000 | 10.7 | 7,2 | 61,7 | 100,2 |
10000 | 56,4 | 33,9 | 73,6 | 115,3 |
100000 | 117,7 | 95,3 | 110,4 | 108,0 |
Tamanhos de arquivo em bytes, vazão em KBytes/s (1KByte = 1024 bytes)
Usando apenas um fluxo, o SCTP tem menor performance que TCP. Isto é congruente com outros testes, mas aqui há um fator adicional: um número muito grande de associações é criado (uma para cada arquivo), o que vem em desfavor do SCTP pois seu overhead na criação de associação é maior.
Já com o uso de vários fluxos por associação, o SCTP brilhou, em particular com arquivos pequenos, que são os mais comuns na Web. A diferença foi ainda maior na rede de 1Mbps com latência, que por sinal aproxima bem uma conexão típica à Internet com ADSL [em 2004].
Com arquivos maiores, naturalmente a vantagem dos múltiplos fluxos cai, pois o principal limitador passa a ser a largura de banda da rede.