Книга: UNIX: разработка сетевых приложений
Эффективность одновременных соединений
Эффективность одновременных соединений
Каков выигрыш в эффективности при установлении множества одновременных соединений? В табл. 16.1 показано время, необходимое для выполнения определенной задачи, которая состоит в том, чтобы получить от веб-сервера домашнюю страницу и девять картинок. Время обращения RTT для данного соединения с сервером равно приблизительно 150 мс. Размер домашней страницы — 4017 байт, а средний размер девяти файлов с изображениями составил 1621 байт. Размер сегмента TCP равен 512 байт. Для сравнения мы также представляем в этой таблице значения для многопоточной версии данной программы, которую мы создаем в разделе 26.9.
Таблица 16.1. Время выполнения задания для разного количества одновременных соединений в разных версиях программы
Количество одновременных соединений | Затраченное время (в секундах), отсутствие блокирования | Затраченное время (в секундах), использование потоков |
---|---|---|
1 | 6,0 | 6,3 |
2 | 4,1 | 4,2 |
3 | 3,0 | 3,1 |
4 | 2,8 | 3,0 |
5 | 2,5 | 2,7 |
6 | 2,4 | 2,5 |
7 | 2,3 | 2,3 |
8 | 2,2 | 2,3 |
9 | 2,0 | 2,3 |
ПРИМЕЧАНИЕ
Мы показали пример использования одновременных соединений, поскольку он служит хорошей иллюстрацией применения неблокируемого ввода-вывода, а также потому, что в данном случае эффективность применения одновременных соединений может быть измерена. Это свойство также используется в популярном приложении — веб-браузере Netscape. В этой технологии могут появиться некоторые «подводные камни», если сеть перегружена. В главе 21 [111] подробно описываются алгоритмы TCP, называемые алгоритмами медленного старта (slow start) и предотвращения перегрузки сети (congestion avoidance). Когда от клиента к серверу устанавливается множество соединений, то взаимодействие между соединениями на уровне TCP отсутствует. То есть если на одном из соединений происходит потеря пакета, другие соединения с тем же сервером не получают соответствующего уведомления, и вполне возможно, что другие соединения вскоре также столкнутся с потерей пакетов, пока не замедлятся. По этим дополнительным соединениям будет продолжаться отправка слишком большого количества пакетов в уже перегруженную сеть. Эта технология также увеличивает нагрузку на сервер.
Максимальное увеличение эффективности происходит при трех одновременных соединениях (время уменьшается вдвое), а при четырех и более одновременных соединениях прирост производительности значительно меньше.
- Глава 6 Изображение резьбы и резьбовых соединений
- Улучшенный протокол локальных соединений (XNET)
- 9.5. Эффективность
- Эффективность кампании. Показатель № 5 – коэффициент отклика
- Глава 4 Как повысить эффективность публичного выступления без бюджета
- Метод визуализации и эффективность работы команды
- 3.4. Как оценить эффективность затрат при проведении мероприятий?
- Использование PPP-соединений
- 6.3. Изображение резьбовых соединений с крепежными деталями
- Туннелирование X-соединений через SSH
- Учет и контроль в маркетинге: как определить критерий успеха, установить KPI, измерить и оценить эффективность промоакци...
- Элемент D6 Искусство или эффективность