Читать «UNIX: взаимодействие процессов» онлайн - страница 303

Уильям Ричард Стивенс

ipc:

 msg-max = 16384

 msg-mnb = 32768

Результаты измерения полосы пропускания сообщений

В табл. А.2 приведены результаты измерений на компьютере Sparc под управлением Solaris 2.6, а на рис. А.1 — график этих результатов.

Как мы и предполагали, полоса пропускания увеличивается с размером сообщения. Поскольку во многих реализациях очередей сообщений System V ограничение на размер сообщения, установленное в ядре, достаточно мало (раздел 3.8), максимальный размер сообщения в нашей программе имеет значение 16384 байт. 

Уменьшение полосы для сообщений размером около 4096 байт в Solaris 2.6, возможно, связано с настройкой внутренних ограничений ядра. Для сравнения с [24] мы приводим результаты аналогичных измерений для сокета TCP и доменного сокета Unix. Эти две величины были получены с помощью программ пакета lmbench для сообщений размером 65536 байт. При измерении быстродействия сокета TCP оба процесса выполнялись на одном узле.

Результаты измерения задержки

В табл. А.1 приведены значения задержки в Solaris 2.6 и Digital Unix 4.0B.

Таблица А.1. Задержка при передаче сообщения размером 1 байт (в микросекундах) 

Канал Очередь сообщений Posix Очередь сообщений System V Двери Sun RPC TCP Sun RPC UDP Сокет TCP Сокет UDP Доменный сокет
Solaris 2.6 324 584 260 121 1891 1677 798 755 465
DUnix 4.0B 574 995 625 1648 1373 848 639 289 

Рис. А.1. Полоса пропускания средств передачи сообщений в Solaris 2.6.

В разделе A.4 мы приведем листинги программ, использованных для получения первых четырех величин, а оставшиеся три получены с помощью пакета lmbench. При измерении скорости работы TCP и UDP оба процесса находились на одном узле. 

Таблица А.2. Полоса пропускания для разных типов сообщений в Solaris 2.6 (Мбайт/с)

Размер сообщения Канал Очередь сообщений Posix Очередь сообщений System V Двери Sun RPC TCP Sun RPC UDP Сокет TCP Доменный сокет
1024 6,3 3,7 4,9 6,3 0,5 0,5
2048 8,7 5,3 6,3 10,0 0,9 1,0
4096 9,8 8,4 6,6 12,6 1,6 2,8
8192 12,7 10,2 5,8 14,4 2,4 2,8
16384 13,1 11,6 6,1 16,8 3,2 3,4
32768 13,2 13,4 11,4 3,5 4,3
65536 13,7 14,4 12,2 3,7 13,2 11,3