quarta-feira, 27 de janeiro de 2010

testing Gigabit Ethernet networks with Linux laptops

How useful is to contract the implementation of a Gigabit ethernet LAN if we are unable to test its performance? It is well known that performance on LANs is easily affected by bad cabling or connector problems. Besides that, acceptance tests are part of every engineer's life.

Whereas testing a 100Mbit LAN is somewhat of a trivial task, testing Gbe is a bit trickier since harddrive to memory transfers can't keep up with such rates. Fortunately, we can put it to test using two Linux laptops with Gbe network interfaces. The process involves creating a reasonably large ramdisk on each laptop (the default size is not enough) and tranferring information between ramdisks using netcat. One laptop should be connected directly to the switch and the other one will be connected to each wall plug.

Here's a brief recipe of how to perform the test.

Preparing ramdisks on both the sender and receiver

- boot with option on lilo or grub: ramdisk_size=5000000
- login as root and issue:
mknod -m 660 /dev/ram b 1 1
mkfs.ext2 /dev/ram
mount -t ext2 /dev/ram /mnt/ramdisk
cd /mnt/ramdisk

On the sender generate a random file with dd
dd if=/dev/urandom of=/mnt/ramdisk/file.bin bs=1k count=500k
(dd will stop if the ramdisk is smaller than needed and will output the created file size)

Prepare the receiver to accept the file via netcat
nc -lp 1234 >file.bin

On the sender side push the file and measure the transfer time
time cat file.bin | nc RECEIVER_IP 1234

The send+receive steps should be repeated a number of times for each wall plug to check for stability of the measured times. The file transfer rate is then computed easily as
file transfer rate [MB/s] = (FILE SIZE [MB] ) / AVERAGE TIME

The network transfer rate is obtained by taking into account the Ethernet + TCP/IP overhead introduced by netcat, which is around 5%
network transfer rate [Mbps] = [ (FILE SIZE [MB] * 8) / AVERAGE TIME ] / 0.95

In our tests a acheived an average transfer time of 4.5s and a network transfer rate of 934 Mbps.

segunda-feira, 18 de janeiro de 2010

Ser profissional é opcional

Talvez tenha reparado quem recebe por RSS os artigos deste blog que últimamente não tem cá aparecido muita coisa. O que se passa é que o tempo que habitualmente sobra para reflexões e partilha de ideias com a comunidade tem sido ultimamente consumido, perdão vorazmente canibalizado, por uma onda da mais gritante incompetência. Dir-se-ia que neste país ser profissional é opcional.

Vejamos... nos últimos dois meses já tivemos: comunicações interrompidas por causa da chuva (a infra-estrutura não está preparada porque só este inverno é que choveu), jogo do empurra-empurra entre um ISP e o operador incumbente com um problema de packet loss que aparentemente só o cliente é que tinha capacidade de monitorizar (demorou mês e meio a ser resolvido), uma linha ADSL + Voz em que a Voz está há dois meses com ruído extremo e o ISP não resolve, um equipamento que o ISP garantiu fornecer em bridged mas afinal não suportava bridged ao qual se seguiu um segundo equipamento que - esse sim - viria em bridged mas afinal também não vinha, um conjunto de novas impressoras iguais todas, excepto uma, a funcionar bem em que a marca não recebe a impressora defeituosa se o cliente não fizer alterações no firmware (!) e até o upgrade de um ERP a correr da pior maneira possível: tudo ficou lento após o upgrade e o fornecedor atirou as culpas precisamente para aquilo que não tinha mudado, ie, a rede e o servidor.

E o que é que faz uma equipa competente nestas situações? Tenta não perder a paciência. Tenta absorver todos estes impactos e almofadar o cliente, isolando-o da incapacidade generalizada que se instalou no nosso país e continua a "atrapalhar" impunemente tudo e todos. Tenta que o cliente consiga sobreviver o melhor possível. Mas com este (mau) ambiente de trabalho torna-se muito, muito mais, difícil manter os níveis de eficiência que os profissionais devem exigir de si mesmos. Este ambiente é o travão da inovação, um balde inteiro de areia vertido descaradamente sobre as melhores engrenagens.

É tentador para muitos atribuir isto à falta de meios e aos problemas económicos do país, etc, etc. Ora isso é a mais evidente falácia. O país tem excesso de meios tecnológicos e poder económico mais do que suficiente para olear a maioria dos serviços. A dura e politicamente incorrecta realidade é que o estado das coisas se deve aos seres humanos que desenham, participam e implementam os processos. Será que é por falta de CRMs (até os há Open Source..) que os ISPs só tratam dos assuntos por telefone? Será que é por falta de software de monitorização (também os há Open Source...) que não conseguem compreender problemas intermitentes? Será por falta de vergonha que um fabricante acha normal mandar um cliente fazer upgrades de firmware numa impressora avariada que custou algumas centenas de EUR?

Não há mais ninguém a culpar: são compatriotas nossos - portugueses - que originam e perpetuam este estado das coisas. Culpado, é quem contrata pessoas para funções alegadamente "simples" e não lhes dá formação. E quem é contratado e não quer aprender.

Mas a solução é simples: dar formação aos interessados e despedir os desinteressados. A quem não sabe trabalhar não se dê hipótese de atrapalhar.


.