Linux Vs Windows NT
Alguns tempos atrás resolvi realizar uma comparação entre sistemas Linux e Windows NT. Fiz apenas uma comparação do desempenho da transferência de arquivos com o programa FTP. Não pude utilizar equipamentos idênticos, mas optei por uma configuração igualmente polêmica. Um ultrapassado 486 contra um Pentium 200 MMX.
A máquina rodando Linux é um 486DX/66, com 32 MB de memória, fabricado em 1993. O sistema operacional é o Conectiva Linux, versão do kernel 2.0.38. O MTU da interface ethernet do Linux é de 1500 bytes.
A estação NT é um Pentium 200/MMX, com 64 MB de memória, fabricado em 1998. O sistema operacional desta máquina é Windows NT server versão 4.0.
Realizei cinco transferências, usando FTP, em cada máquina, de um arquivo de 19MB de tamanho. Todas as duas máquinas estão conectadas na mesma subrede, uma ethernet a 10Mbits/s. As transferências foram intercaladas. Primeiro o Linux, depois NT e assim sucessivamente. Nenhuma das duas máquinas estava rodando processos que pudessem interferir no seu desempenho.
Em todas as transferências o Linux ganhou. Considerando-se que as duas máquinas são brutalmente diferentes em termos de performance, dá para se notar que a implementação TCP/IP do Linux é consideravelmente melhor do que a do Windows NT server no tocante ao aspecto analisado, a saber, transferência de arquivos usando FTP.
Abaixo incluo as linhas de resultados das transferências nos dois sistemas. A média de tempo do Linux foi de 23,4 segundos, e a média da taxa de transferência foi de 816 kbytes/segundo. No NT a média de tempo foi de 29,51 segundos e a taxa de transferência foi de 664,60 kbytes/segundo. O Linux obteve um resultado 28% melhor no tempo de transferência em relação ao NT.
Linux
1. 19529038 bytes received in 22.3 secs (8.5e+02 Kbytes/sec)
2. 19529038 bytes received in 22.6 secs (8.4e+02 Kbytes/sec)
3. 19529038 bytes received in 26.4 secs (7.2e+02 Kbytes/sec)
4. 19529038 bytes received in 23 secs (8.3e+02 Kbytes/sec)
5. 19529038 bytes received in 22.7 secs (8.4e+02 Kbytes/sec)
2. 19529038 bytes received in 22.6 secs (8.4e+02 Kbytes/sec)
3. 19529038 bytes received in 26.4 secs (7.2e+02 Kbytes/sec)
4. 19529038 bytes received in 23 secs (8.3e+02 Kbytes/sec)
5. 19529038 bytes received in 22.7 secs (8.4e+02 Kbytes/sec)
1. 19529038 bytes received in 30,7 secs (649,39 kbytes/sec)
2. 19529038 bytes received in 29,20 secs (668,76 kbytes/sec)
3. 19529038 bytes received in 29,06 secs (671,98 kbytes/sec)
4. 19529038 bytes received in 28,96 secs (674,30 kbytes/sec)
5. 19529038 bytes received in 29,65 secs (658,59 kbytes/sec)
2. 19529038 bytes received in 29,20 secs (668,76 kbytes/sec)
3. 19529038 bytes received in 29,06 secs (671,98 kbytes/sec)
4. 19529038 bytes received in 28,96 secs (674,30 kbytes/sec)
5. 19529038 bytes received in 29,65 secs (658,59 kbytes/sec)
O arquivo transferido foi gravado no Linux em /dev/null, que na verdade é um buraco negro do Unix, ou seja, nada é gravado. O dispositivo equivalente no Windows NT é ``nul''. O tempo de transferência não sofre o impacto do I/O e podemos ter uma boa idéia de quanto tempo efetivamente foi gasto apenas no trânsito dos dados via rede.
Nesta outra medição utilizei o comando wget. No NT a sintaxe do comando foi:
wget -O null [1]ftp://ftp.unicamp.br/pub/dicas-l.zip
wget -O /dev/null [2]ftp://ftp.unicamp.br/pub/dicas-l.zip
WindowsNT
12:45:25 (631.78 KB/s) - `nul' saved [2587767]
12:46:22 (631.78 KB/s) - `nul' saved [2587767]
12:46:22 (631.78 KB/s) - `nul' saved [2587767]
12:46:47 (631.78 KB/s) - `nul' saved [2587767]
12:47:05 (631.78 KB/s) - `nul' saved [2587767]
12:47:20 (631.78 KB/s) - `nul' saved [2587767]
12:47:34 (505.42 KB/s) - `nul' saved [2587767]
12:51:17 (631.78 KB/s) - `nul' saved [2587767]
12:51:49 (631.78 KB/s) - `nul' saved [2587767]
12:52:24 (631.78 KB/s) - `nul' saved [2587767]
12:46:22 (631.78 KB/s) - `nul' saved [2587767]
12:46:22 (631.78 KB/s) - `nul' saved [2587767]
12:46:47 (631.78 KB/s) - `nul' saved [2587767]
12:47:05 (631.78 KB/s) - `nul' saved [2587767]
12:47:20 (631.78 KB/s) - `nul' saved [2587767]
12:47:34 (505.42 KB/s) - `nul' saved [2587767]
12:51:17 (631.78 KB/s) - `nul' saved [2587767]
12:51:49 (631.78 KB/s) - `nul' saved [2587767]
12:52:24 (631.78 KB/s) - `nul' saved [2587767]
09:45:29 (711.26 KB/s) - `/dev/null' recebido [2587767]
09:45:48 (751.00 KB/s) - `/dev/null' recebido [2587767]
09:46:10 (719.98 KB/s) - `/dev/null' recebido [2587767]
09:46:22 (779.25 KB/s) - `/dev/null' recebido [2587767]
09:46:34 (736.12 KB/s) - `/dev/null' recebido [2587767]
09:46:45 (724.31 KB/s) - `/dev/null' recebido [2587767]
09:46:56 (720.59 KB/s) - `/dev/null' recebido [2587767]
09:47:07 (706.69 KB/s) - `/dev/null' recebido [2587767]
09:47:18 (684.30 KB/s) - `/dev/null' recebido [2587767]
09:47:35 (661.90 KB/s) - `/dev/null' recebido [2587767]
09:45:48 (751.00 KB/s) - `/dev/null' recebido [2587767]
09:46:10 (719.98 KB/s) - `/dev/null' recebido [2587767]
09:46:22 (779.25 KB/s) - `/dev/null' recebido [2587767]
09:46:34 (736.12 KB/s) - `/dev/null' recebido [2587767]
09:46:45 (724.31 KB/s) - `/dev/null' recebido [2587767]
09:46:56 (720.59 KB/s) - `/dev/null' recebido [2587767]
09:47:07 (706.69 KB/s) - `/dev/null' recebido [2587767]
09:47:18 (684.30 KB/s) - `/dev/null' recebido [2587767]
09:47:35 (661.90 KB/s) - `/dev/null' recebido [2587767]
Autor: Desconheço. =[