Czy istnieje sposób na zwiększenie wydajności linuxowych przewodów?

Próbuję przesłać dane o bardzo dużej prędkości z jednej aplikacji do drugiej za pomocą 64-bitowegoCentOS6. Wykonałem następujące testy porównawczedd odkryć, że rury powstrzymują mnie, a nie algorytm w moim programie. Moim celem jest osiągnięcie około 1,5 GB / s.

Po pierwsze, bez rur:

dd if=/dev/zero of=/dev/null bs=8M count=1000
1000+0 records in
1000+0 records out
8388608000 bytes (8.4 GB) copied, 0.41925 s, 20.0 GB/s

Następnie potok między dwoma procesami dd:

dd if=/dev/zero bs=8M count=1000 | dd of=/dev/null bs=8M
1000+0 records in
1000+0 records out
8388608000 bytes (8.4 GB) copied, 9.39205 s, 893 MB/s

Czy są jakieś usprawnienia, które mogę wprowadzić do jądra lub cokolwiek innego, co poprawi wydajność uruchamiania danych przez potok? Próbowałem również nazwanych potoków i otrzymałem podobne wyniki.

questionAnswers(1)

yourAnswerToTheQuestion