реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> web на stm32, lwip
bzx
сообщение Jan 12 2018, 22:00
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 470
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528



Прошу совета. Есть проект на STM32F107RCT6 c DP83848IVV, без ОС, работает корректно и стабильно (до -20C), подняты и работают dhcp, dns, ntp, icmp, web + крутятся свои задачи.

Вопрос к web. Долго загружается страница, до 2-3 секунд. Проверено на разных браузерах. По логам видно, что браузер делает паузы до 50-200мс и их много. Лог шарка привожу. Самая большая задержка в этом логе от девайса к компу ~7мс. Короткий css файл стилей быcтро передается, за ~210мс.

Лог Прикрепленный файл  q.rar ( 4.74 килобайт ) Кол-во скачиваний: 22


--------------------
Для связи email: info собака qbit.su
Go to the top of the page
 
+Quote Post
AlanDrakes
сообщение Jan 13 2018, 08:29
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 95
Регистрация: 2-05-15
Из: Россия, Омск
Пользователь №: 86 474



Паузы, судя по дампу, делает не компьютер, а контроллер отдаёт пакеты со скоростью 5 пакетов в секунду.
Ищите, почему у Вас так редко происходит отправка пакетов.
Возможно большие накладные расходы. Возможно редко вызывается поллер сети. Возможно ещё до чёртиков вариантов.
Если есть свободные пины - выводите на них сигнал при отправке данных, например. Начало отправки - пин поднимается. Конец отправки - опускается. Наблюдайте за сигналом. Когда поднимается, что долго держит контекст исполнения. И так далее.
Задержки - стабильны - 200мс. Значит, явно дело в коде.
На том же кристалле (разве что без других задач) можно гнать трафик более 50МБит/с (проверял на UDP).
Go to the top of the page
 
+Quote Post
bzx
сообщение Jan 13 2018, 11:00
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 470
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528



Цитата(AlanDrakes @ Jan 13 2018, 11:29) *
Паузы, судя по дампу, делает не компьютер, а контроллер отдаёт пакеты со скоростью 5 пакетов в секунду.
Ищите, почему у Вас так редко происходит отправка пакетов.
...
Задержки - стабильны - 200мс. Значит, явно дело в коде.

Нет. Из лога: пакет №27, сформирован и отправлен устройством (ip: ...100, mac 00:80:e1...) через ~0,539мс, размер данных 536. Пакет №28, ответ от компа (ip: ...99) сформирован и отправлен через ~203.572мс, размер данных 0.
Т.е. устройство достаточно быстро отвечает. Самая большая задержка от устройства ~6.592мс (пакет №5), длина 536. Минимальная задержка от устройства ~0.009мс (пакет №11), длина 536.

Увеличение window size поможет?



--------------------
Для связи email: info собака qbit.su
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 13 2018, 11:08
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(bzx @ Jan 13 2018, 17:00) *
Увеличение window size поможет?
А сейчас какой максимальный?


--------------------
Go to the top of the page
 
+Quote Post
bzx
сообщение Jan 13 2018, 11:14
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 470
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528



Цитата(prottoss @ Jan 13 2018, 14:08) *
А сейчас какой максимальный?

2144


--------------------
Для связи email: info собака qbit.su
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 13 2018, 11:26
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(bzx @ Jan 13 2018, 17:14) *
2144

Я, честно скажу, не смотрел лог - не знаю чем открыть. Почему нельзя сделать размер окна максимальным? Возможно носитель данных тупит?


--------------------
Go to the top of the page
 
+Quote Post
bzx
сообщение Jan 13 2018, 11:32
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 470
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528



Цитата(prottoss @ Jan 13 2018, 14:26) *
Я, честно скажу, не смотрел лог - не знаю чем открыть...

Wireshark

Цитата(prottoss @ Jan 13 2018, 14:26) *
...Почему нельзя сделать размер окна максимальным? Возможно носитель данных тупит?

Нельзя. Точнее, физически не возможно. Максимальный размер окна 2^16-1 (65535). Размер ram у STM32F107RCT6 64к, поэтому и невозможно окно сделать на максимальный размер - есть ограничения в памяти.


--------------------
Для связи email: info собака qbit.su
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 13 2018, 11:46
Сообщение #8


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 329
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Эххх, ну миллион же тем на форуме (а в остальных интернетах - еще больше). Ключевое слово - "Delayed ACK".


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
bzx
сообщение Jan 13 2018, 11:56
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 470
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528



Цитата(Rst7 @ Jan 13 2018, 14:46) *
...Ключевое слово - "Delayed ACK".

Агась, опять на те же грабли наступил...

Спасибо за правильный пинок.


--------------------
Для связи email: info собака qbit.su
Go to the top of the page
 
+Quote Post
bzx
сообщение Jan 13 2018, 17:22
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 470
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528



Вся сессия (от syn до fin) по загрузке страниц, в том числе динамических проходит до ~70мс. Браузер быстро открывает.
Плюс увеличен win size до 5840 и размер передаваемого сообщения до максимума 1460.

Вопрос закрыт.



--------------------
Для связи email: info собака qbit.su
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th July 2018 - 02:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.0091 секунд с 7
ELECTRONIX ©2004-2016