Есть ли способ улучшить производительность Linux-труб?

я пытаюсь передать чрезвычайно высокоскоростные данные из одного приложения в другое, используя 64-битнуюCentOS6. Я сделал следующие тесты, используяdd обнаружить, что каналы сдерживают меня, а не алгоритм в моей программе. Моя цель - достичь где-то около 1,5 ГБ / с.

Во-первых, без труб:

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

Далее канал между двумя процессами 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

Могу ли я внести какие-либо изменения в ядро или что-нибудь еще, что улучшит производительность обработки данных через канал? Я также пробовал именованные каналы и получил похожие результаты.

Ответы на вопрос(1)

Ваш ответ на вопрос