Читать «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 |