pvvx
Активный участник сообщества
Дык к теме то это не имеет никакого отношения. И к скорости TCP тоже
Счас у меня 1.2 Мегабайта в секунду в IE и прочих, кроме Chrome. Предложите как сделать больше.
Первый попавшийся замер из темы "свалки": http://esp8266.ru/forum/attachments/1mbsec-gif.66/
Буфер - это "стек" и он ограничен 4 mss, при пару одновременных соединений, из-за общего ограничения размера всех буферов у Lwip, по причине "мало памяти в чипе".
За раз передается пакет с предельным размером в mss (- минус на всякие time...). Т.е. максимальный "стек" = 4 пакета длиной mss. Если сразу на них не придет подтверждений о приеме со стороны Chrome, то Lwip и другие не имеют права сбрасывать этот буфер, т.к. в TCP возможны перезапросы из этого "стека", пока не будет подтверждено о его приеме. Но Chrom дает его через 0.1 секунду после приема!
В TCP-UART, из-за сложности синхронизации, вообще данные складываются в буфера “стека” Lwip-у по прерываниям в беспорядке при большой скорости UART. То один байт, то тысячу. Но Lwip всегда отправляет пакет размером в mss. Всё зависит от скорости набора буфера и опроса Lwip-ом соединения.
Скорость WiFi у нас 54Мбита/сек. Реализованное в "свалке" дает 1.2 Мбайта по TCP. Для большей скорости надо оптимизировать (выкинуть всё что понаписал Espressif) и увеличить скорость CPU ESP8266. Тогда получите +20% Это теоретический предел реализации TCP на данном модуле по его архитектуре и компонентам.
Счас у меня 1.2 Мегабайта в секунду в IE и прочих, кроме Chrome. Предложите как сделать больше.
Первый попавшийся замер из темы "свалки": http://esp8266.ru/forum/attachments/1mbsec-gif.66/
Пакеты Lwip формирует сам. Ему можно помочь, задавая кратность к текущему размеру mss, что и вписано в исходниках "свалки"Цель начатой мной дискуссии не замеры скорости, а факт если стек LWIP разрешает определенный размер буфера отправки, а мы его не заполняем полностью, при следующей отправке разрешенный размер буфера будет сокращаться.
Буфер - это "стек" и он ограничен 4 mss, при пару одновременных соединений, из-за общего ограничения размера всех буферов у Lwip, по причине "мало памяти в чипе".
За раз передается пакет с предельным размером в mss (- минус на всякие time...). Т.е. максимальный "стек" = 4 пакета длиной mss. Если сразу на них не придет подтверждений о приеме со стороны Chrome, то Lwip и другие не имеют права сбрасывать этот буфер, т.к. в TCP возможны перезапросы из этого "стека", пока не будет подтверждено о его приеме. Но Chrom дает его через 0.1 секунду после приема!
В TCP-UART, из-за сложности синхронизации, вообще данные складываются в буфера “стека” Lwip-у по прерываниям в беспорядке при большой скорости UART. То один байт, то тысячу. Но Lwip всегда отправляет пакет размером в mss. Всё зависит от скорости набора буфера и опроса Lwip-ом соединения.
Скорость WiFi у нас 54Мбита/сек. Реализованное в "свалке" дает 1.2 Мбайта по TCP. Для большей скорости надо оптимизировать (выкинуть всё что понаписал Espressif) и увеличить скорость CPU ESP8266. Тогда получите +20% Это теоретический предел реализации TCP на данном модуле по его архитектуре и компонентам.
Последнее редактирование: