|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 10
|
|||||||||||||||||||||
Тестирование производительности udp25.02.2016, 14:00. Показов 1909. Ответов 4
Метки нет (Все метки)
Есть два компьютера, один "медленный" (одноядерный х86 процессор Intel Quark X1000 с частотой 400 МГц), второй "быстрый" - (Intel core 2 duo, около 2.2 ГГц). Понимаю, что дело не только в процессорах, но упрощенно говоря можно считать что один быстрее другого (я могу ошибаться, но пока считаю так).
Есть клиент-серверное приложение (UDP). UDP сервер расположен на медленном компьютере, UDP клиент на быстром. Клиент шлет дейтаграммы в цикле, сервер принимает их, и считает количество полученных дейтаграмм (а так же количество полученных байт). После того как клиент заканчивает передачу, можно сигналом прервать работу сервера, и он выведет количество полученных дейтаграмм. Так как клиент быстрее сервера, то часть дейтаграмм теряется(отбрасывается), т.к. не успевает быть принятой. Часть кода сервера: просто бесконечный цикл для чтения дейтаграмм, и возможность прервать программу по сигналу.
Отсылается NDG UDP-дейтаграмм (а конкретно - 50000 дейтаграмм), каждая размером DGLEN байт. Ф-ция connect используется для большей производительности (в UDP также можно создавать присоединенные сокеты, правда при этом никакого "рукопожатия" не происходит, а делается это только с целью увеличения производительности программы, подробности в Стивенсе есть).
Результаты передачи
И при размере дейтаграммы 1473 опять количество принятых очень мало. У меня есть идея почему при 1473 начинает приниматься так мало дейтаграмм. Максимальный размер канального кадра Ethernet (MTU) - 1500 байт(возможно он плавает и не так детерменирован, это я не знаю). Соответственно максимальный размер пользовательских данных UDP дейтаграммы без фрагментации - 1500 - заголовок UDP (8) - заголовок IP (20) = 1472 Это значит, что дейтаграммы размера 1473 уже будут подвергнуты фрагментации при передачи, и, возможно, т.к. фрагментация на клиенте будет проходить быстрее, чем обратная операция на сервере, то количество принятых дейтаграмм так мало. Для пакетов малого размера (10 байт) возможна достройка до какого-то фикс. размера ,может это тоже приведет к потерям при передаче. Но в общем случае мне непонятно, почему так прыгает результат принятых дейтаграмм. P.S. вот еще немного принятых данных (для больших размеров дейтаграмм)
0
|
|||||||||||||||||||||
| 25.02.2016, 14:00 | |
|
Ответы с готовыми решениями:
4
Тестирование производительности движка Тестирование производительности сервиса
|
|
1267 / 980 / 385
Регистрация: 02.09.2012
Сообщений: 3,027
|
|
| 25.02.2016, 17:21 | |
|
Мне кажется в статистике не хватает вывода и анализа полученных received байт. Вы выводите не сколько дейтаграмм полученно, а сколько раз вызывался recvfrom. При этом нигде не сказано, сколько байт было принято в каждом recvfrom.
0
|
|
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 10
|
|
| 25.02.2016, 17:27 [ТС] | |
|
Я еще раз проверю, но у меня получалось, что
количество байт = (количество полученных дейтаграмм) * (размер дейтаграммы) , то есть дейтаграммы приходили "полностью", если я не ошибаюсь. (Можно еще утилиткой netstat посмотреть, сколько дейтаграмм отвалилось кстати) Кстати меня еще интересует, возможно ли навинтить поверх сокетов SSL? У меня получалось создавать SSL сокет поверх обычного сокета, но это в случае TCP(я создавал самоподписанный сертификат, и создавал SSL сокеты "в коде") . А вот насколько это реально в случае UDP... Я не нашел примера кода ни одного пока что.
0
|
|
|
1267 / 980 / 385
Регистрация: 02.09.2012
Сообщений: 3,027
|
|
| 26.02.2016, 14:37 | |
|
Я не уверен, что прав, но может быть это наведет вас на верное решение.
0
|
|
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 10
|
|
| 26.02.2016, 15:38 [ТС] | |
|
Да я уже нашел, что теоретически это можно использовать. Хотя надо еще почитать, проблема в том что если код про использование ssl поверх TCP сокетов найти можно, вот например:
http://www.informit.com/articl... px?p=22078 То про использование SSL поверх UDP пока ничего простого и понятного не найти, обычно это означает, что копание инфы в неверном направлении происходит.., хотя и не факт Я нашел про dtls вот такую штуку, но это какая-то сторонняя библиотека https://github.com/wolfSSL/wol... dp-dtls.md Есть еще что-то такое https://gist.github.com/roxlu/9841988 Но простого примера с DTLS + SOCK_DGRAM не нахожу (и мне желательно использовать OpenSSL). Можно конечно тупо шифровать opensslем пакет, а затем передавать его, и опять дешифровать, но мне кажется это неверное решение, хочется какой-то протокол поверх транспортного (UDP) использовать
0
|
|
| 26.02.2016, 15:38 | |
|
Помогаю со студенческими работами здесь
5
Передача с микрофона в udp и прием из udp на динамик Удаленное тестирование приложение/Пересылка на тестирование Unit -тестирование или автоматизированное тестирование Тестирование (или Юнит тестирование) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|