4 / 4 / 1
Регистрация: 03.07.2012
Сообщений: 37
|
|
1 | |
TCP и производительность26.12.2012, 20:06. Показов 774. Ответов 6
Метки нет (Все метки)
Такая ситуация. Нужно переслать больше количество информации по tcp соединению и записать эти данные на диск.
Данные отправляются порциями размером до 64 кб. ( структурами). Нужно получить максимально возможную скорость передачи данных и при этом минимальные расходы ресурсов клиента и сервера. В какую сторону капать? Заранее благодарю)
0
|
26.12.2012, 20:06 | |
Ответы с готовыми решениями:
6
TCP/IP пакеты. Как можно изменить служебные параметры заголовка TCP или UDP? как создать TCP клиент, TCP сервер ? На С++ Производительность epoll_wait Производительность сервера |
51 / 49 / 7
Регистрация: 31.10.2011
Сообщений: 98
|
|
26.12.2012, 20:43 | 2 |
Копните в сторону профилирования - найдите, что является узким местом, какой процент потери пакетов. Почитайте про быстрые ретрансмиты, delayed ack'и (если проблема в этом). Попробуйте разные протоколы сетевого уровня - ipv4, ipv6. В *nix скажите sysctl -a | grep tcp, смотрите, какие нужные вам ручки вы можете покрутить. Кроме того, реализаций tcp в ядре может быть несколько - попробуйте разные. Не забывайте, что передачу может аффектить состояние сети - если кроме вашего траффика есть другой, поэтому порпобуйте разные варианты congestion control.
1
|
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,415
|
|
26.12.2012, 20:50 | 3 |
наверное без разницы какими кусками вы пихаете в поток - он будет резать на фрагменты без вас руководствуясь настройками. мб покрутить буфер передачи/приема
1
|
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
|
|
27.12.2012, 09:30 | 4 |
Мой совет... Тупо записывайте данные в цикле, не заворачиваясь на прочее. Лучше этого быстродействие не получите. И на сколько мне известно,чем больше кусок вы закинете разом,тем лучше для карты.
1
|
29.12.2012, 10:07 | 5 |
простым увеличением буфера этого не добиться. Слишком много факторов, влияющих на передачу/приём. и если локально где-то система и будет работать приемлемо, то в другом месте может сильно просесть. А вообще это тема, если и не диплома, то курсовой точно.
0
|
4 / 4 / 1
Регистрация: 03.07.2012
Сообщений: 37
|
|
29.12.2012, 15:07 [ТС] | 6 |
Вопрос был задан для того, чтобы узнать, как это можно сделать, а не что мне в данном случае не поможет. И если для вас очень важно, то говорю, это мне нужно не для курсовой или диплома.
0
|
29.12.2012, 15:33 | 7 |
а я и не говорил что тебе нужно для диплома. я лишь сказал, что это не просто, вот так вот взять и получить "максимально возможную скорость". Люди по этой теме целые курсовые пишут с кучей выкладок и измерений.
из основных телодвижений - манипуляция размерами отправного/приемного буферов сокета (не путать с теми 65 килобайтами, что у тебя), Смотреть на SO_SNDBUF/SO_RECVBUF
0
|
29.12.2012, 15:33 | |
29.12.2012, 15:33 | |
Помогаю со студенческими работами здесь
7
Зависит ли производительность приложения от версии ABI? Сцена зависает при запуске TCP-клиента, когда он подключен к TCP - серверу, при этом TCP-клиент полностью функционирует Реализовать на tcp сокетах переподключение к tcp серверу в случае потери соединения Если сервер TCP то и клиент тоже должен быть TCP? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Блоги программистов | |||||
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(шестибитный асихронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
|
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения
PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
|
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
|
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
|
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9
Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
|
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
wget. . .
|
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin.
Есть ещё регистры,. . .
|
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps
Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
|
Angular vs React vs Vue.js
BasicMan 03.01.2025
О, друзья-разработчики и просто любопытные читатели! Сегодня мы отправимся в увлекательное путешествие по миру фронтенд-разработки, и первой остановкой станет Angular – этакий строгий немецкий. . .
|