Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 3, 2009 20:51:16

spSerg
От:
Зарегистрирован: 2008-01-28
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

web.py тормозит статика

web.py 3
положил css файлы в /static/ каталог.
сервер отдает их с задержками 10-20сек.
нашел, что проблемы могут быть с CR+LF
Хотя в 3-й версии декларируют что пофиксили, но все-равно тормозит (все текстовые файлы)
поменял на Unix формат строк. Тормоза пропали почти у всех файлов.
Но если в странице есть обращения к нескольким css, то первый проходит нормально, второй с задержкой 9сек, третий - 19сек.

В какую сторону копать - ума не приложу :(

OS - windows



Офлайн

#2 Июнь 4, 2009 11:39:59

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

web.py тормозит статика

дебаг вырубил? попробуй профайлер погонять, в вебпи он же из коробки есть

Офлайн

#3 Июнь 4, 2009 12:05:18

spSerg
От:
Зарегистрирован: 2008-01-28
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

web.py тормозит статика

Штатный профайлер
python -m cProfile code.py
выдает, что все 19сек. скрипт сидел в
20 19.997 1.000 19.997 1.000 {method ‘accept’ of ‘_socket.socket’ objects}

Можно подсказку, что имеется ввиду насчет профайлера из коробки?

да. кстати: python v.2.5.2
может это быть причиной?



Офлайн

#4 Июнь 4, 2009 16:56:19

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

web.py тормозит статика

web.profiler включи в мидлварях

Офлайн

#5 Июнь 6, 2009 20:15:03

spSerg
От:
Зарегистрирован: 2008-01-28
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

web.py тормозит статика

решение найдено.
проблема в старой версии питона
Вот баг, на который наткнулся: http://bugs.python.org/issue839496
для отдачи статики открывались файлы. но те, что “text/*”, открывались в текстовом режиме, что приводило к трансляции ‘\r\n’ -> ‘\n’
А это, конечно, укорачивало длину файла. Браузер аккуратно ждал на остальное, пока сервер не гавкнет ему ‘Timeout’.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version