2012-03-30 4 views
0

У меня есть django web app, который использует postgres db.It позволяет пользователям входить в систему и делать сообщения, которые сохраняются в db, а позже пользователь может указать, сколько сообщений он сделал на определенном день и т. д. и перечислить сообщения, относящиеся к определенной категории и т. д. В то время как это сработало без каких-либо задержек в моей машине, для загрузки каждой страницы при размещении на хосте free требуется много времени.выяснить, почему webapp медленный при размещении

Как вы узнаете, почему это происходит? Какую часть приложения следует искать в первую очередь? Есть ли смысл использовать профилировщик, поскольку это приложение использовалось для запуска без каких-либо задержек на моей локальной машине?

Я хотел бы узнать, как подойти к этой проблеме в general.I был в состоянии получить доступ к другим приложениям, размещенным на том же бесплатном хосте без особых задержек ..so это может быть проблемой, специфичные для моего приложения

Я хотел бы получить совет по этому вопросу. Если кто-нибудь может помочь.

спасибо ps: (Я намеренно исключил имя хоста, потому что это был бесплатный сервис, не было смысла жаловаться, а также другие приложения на том же хосте хорошо работают)

+2

С бесплатными хостами вы получаете то, за что платите, ИМО. –

+3

Вы пробовали панель инструментов Django Debug? Http: //pypi.python.org/pypi/django-debug-toolbar. Он расскажет вам о скорости всех ваших запросов. Может быть, хорошее место для начала. – rockingskier

+0

Я согласен с rockingskier, что запросы действительно хорошее место для начала. Иногда это просто одна безликая петля, которую можно зафиксировать с помощью простого «select_related» ... –

ответ

1

Здесь бесплатный хост-бит, когда на свободном h ost, вы можете делиться коробкой с сотнями других сайтов (что может приравниваться к очень небольшому количеству ram или CPU). Оплатите немного денег ($ 30 долларов/£ 22 в год) и получите себе лучшее место.

Вы найдете производительность и надежность намного лучше.

В противном случае я бы сначала выяснил, что такое латентность между вами и сервером, на локальной машине нет/небольшого сетевого трафика, поэтому ваши страницы будут загружаться намного быстрее.

Далее я бы посмотрел фактические скорости загрузки, которые вы получаете. Возможно, ваш сайт ограничен 20-30 тыс., Что означает, что даже небольшой сайт займет больше секунды для загрузки.

У вас есть много изображений? Если это так, вы обслуживаете их через django или это делает веб-сервер. Если это django, то сделайте веб-сервер таким образом.

Наконец, проверьте скорость обработки страниц. Проанализируйте выполняемые запросы и узнайте, что занимает время. Убедитесь, что postgres правильно настроен и имеет достаточно ресурсов. Вы можете анализировать скорость запроса, используя панель инструментов отладки django.

Смежные вопросы