Производительность

Производительность

Когда приложение вызывает функцию sendto на неприсоединенном сокете UDP, ядра реализаций, происходящих от Беркли, временно соединяются с сокетом, отправляют дейтаграмму и затем отсоединяются от сокета [128, с. 762–763]. Таким образом, вызов функции sendto для последовательной отправки двух дейтаграмм на неприсоединенном сокете включает следующие шесть шагов, выполняемых ядром:

? присоединение сокета;

? вывод первой дейтаграммы;

? отсоединение сокета;

? присоединение сокета;

? вывод второй дейтаграммы;

? отсоединение сокета.

ПРИМЕЧАНИЕ

Другой момент, который нужно учитывать, — количество поисков в таблице маршрутизации. Первое временное соединение производит поиск в таблице маршрутизации IP-адреса получателя и сохраняет (кэширует) эту информацию. Второе временное соединение отмечает, что адрес получателя совпадает с кэшированным адресом из таблицы маршрутизации (мы считаем, что обеим функциям sendto задан один и тот же получатель), и ему не нужно снова проводить поиск в таблице маршрутизации [128, с. 737–738].

Когда приложение знает, что оно будет отправлять множество дейтаграмм одному и тому же собеседнику, эффективнее будет присоединить сокет явно. Вызов функции connect, за которым следуют два вызова функции write, теперь будет включать следующие шаги, выполняемые ядром:

? присоединение сокета;

? вывод первой дейтаграммы;

? вывод второй дейтаграммы.

В этом случае ядро копирует структуру адреса сокета, содержащую IP-адрес получателя и порт, только один раз, а при двойном вызове функции sendto копирование выполняется дважды. В [89] отмечается, что на временное присоединение отсоединенного сокета UDP приходится примерно треть стоимости каждой передачи UDP.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Производительность

Из книги Photoshop. Мультимедийный курс автора Мединов Олег

Производительность Параметры данной категории помогут вам настроить программу на максимальную производительность (рис. 14.9). Рис. 14.9. Настройки производительностиВ первую очередь вы можете указать максимальный объем оперативной памяти, который может занимать


2.1.11. Производительность

Из книги Интернет решения от доктора Боба автора Сворт Боб

2.1.11. Производительность Единственная разница между реальным приложением обработки баз данных (например с использованием BDE) и браузером базы данных это производительность. Наше "приложение" не нуждается ни в каких других приложениях, кроме стандартного браузера.


2.2.8. Производительность

Из книги Основы AS/400 автора Солтис Фрэнк

2.2.8. Производительность Единственное различие между обычным CGI приложением, которое использует BDE для получения данных и нашим приложением без использования BDE это производительность. Кроме того, наше CGI всего лишь 70 KB, оно не нуждается в загрузке BDE, так что время загрузки


Общая производительность системы

Из книги Популярный самоучитель работы в Интернете автора Кондратьев Геннадий Геннадьевич

Общая производительность системы В этой и предыдущей главах мы говорили о будущем AS/400, включая планы по значительному повышению производительности системы, удовлетворению потребностей новых приложений. Надеюсь, читателям ясно, что наши намерения создать в будущем


Увеличиваем производительность

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Увеличиваем производительность Увеличить производительность браузера (то есть скорость загрузки страниц) можно одним немудреным способом – запрещением браузеру загрузки некоторых элементов веб-страниц. Таким образом, не компьютер начинает работать быстрее, а


Производительность программы

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

Производительность программы Как показано в приложении В, производительность программы преобразования файлов можно повысить, предоставив буфер большего размера и задав флаг FILE_FLAG_SEQUENTIAL_SCAN при вызове функции CreateFile. В приложении В также сравниваются показатели


Потоки и производительность

Из книги Scrum и XP: заметки с передовой автора Книберг Хенрик

Потоки и производительность Программы grepMP и grepMT по своей структуре и сложности сопоставимы друг с другом, однако, как и следовало ожидать, программа grepMT характеризуется более высокой производительностью, так как переключение между потоками осуществляется ядром намного


Производительность

Из книги Инфраструктуры открытых ключей автора Полянская Ольга Юрьевна

Производительность В приложении В представлены результаты сортировки файлов большого размера, содержащих записи длиной 64 байта, для случаев использования одной, двух и четырех потоков. SMP-системы позволяют получать значительно лучшие результаты. Упомянутый принцип


10.12 Производительность

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

10.12 Производительность Насколько эффективна работа TCP? На производительность ресурсов влияют многие факторы, из которых основными являются память и полоса пропускания (см. рис. 10.17). Рис. 10.17. Факторы производительности TCPПолоса пропускания и задержки в используемой


Масштабируемость и производительность

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

Масштабируемость и производительность Наконец, с развертыванием сервиса репозитория связаны потенциальные проблемы масштабируемости и производительности. Очевидно, что необходимое количество серверов зависит от количества конечных пользователей, а также от срока


Производительность

Из книги автора

Производительность Производительность систем на базе СУБД является одним из ключевых факторов при выборе сервера. Учитывая это, при разработке сервера Yaffil большое внимание уделяется оптимизации исходного кода, используются средства анализа и профайлинга


Улучшенная производительность

Из книги автора

Улучшенная производительность Производительность является одним из ключевых факторов, определяющих пригодность сервера СУБД для использования в конкретном приложении. Производительность определяет максимальную нагрузку, которую сервер может нести на выбранной


Производительность

Из книги автора

Производительность В разработке новой версии были предприняты некоторые шаги по повышению быстродейивия сервера. Во-первых, небольшой прирост производительности дала переработка некоторых подсистем сервера, в частности оптимизация менеджера памяти.Был улучшен


Производительность

Из книги автора

Производительность В двух словах производительность — ключевая фича Chrome OS. Поэтому она выделена в отдельный проект в команде разработки. Команда тестирования старается помочь рассчитать, предоставить и проанализировать показатели продуктивности в лаборатории, но не


Производительность

Из книги автора

Производительность Когда приложение вызывает функцию sendto на неприсоединенном сокете UDP, ядра реализаций, происходящих от Беркли, временно соединяются с сокетом, отправляют дейтаграмму и затем отсоединяются от сокета [128, с. 762–763]. Таким образом, вызов функции sendto для