Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Оптимизация работы сервера и базы данных [RSS Feed]

#1 Дек. 1, 2018 19:53:42

Strashko
Зарегистрирован: 2018-12-01
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Оптимизация работы сервера и базы данных

Я экспериментирую с сайтом на Django+Postgresql.
Сайт находится на VDS и я его делаю изначально удаленно с помощью PyCharm.
Заметил следующую странность.
Некоторые ссылки с определенной страницы сервер отдает слишком долго, жду до 10 секунд. Причем независимо от сервера - Nginx+uWSGI или встроенный (debug = true или False, так же без разницы).
При этом все функции вьюхи отрабатываются быстро - примерно полсекунды.
На терминале в PyCharm я уже вижу весь полученный HttpResponse.content, затем наступает длинная пауза…. И только затем появляется строчка типа:
“GET /creative/add/case/ HTTP/1.1” 200 81396
И в этот же момент страницу загружает браузер.
В логах uWSGI указано правильное время - именно те самые 10 сек. Хотя, как я говорил, все мои функции отработаны менее чем за 1 сек.
Мне не понятна эта длинная пауза. Ведь контент отрендерен, все обращения к базе выполнены. Что может быть причиной задержки?

Отредактировано Strashko (Дек. 1, 2018 20:10:07)

Офлайн

#2 Дек. 4, 2018 00:09:45

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Оптимизация работы сервера и базы данных

Хороший инет? ВДС?
Еще 100 причин.

Ведите разработку локально.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Дек. 12, 2018 20:02:40

Strashko
Зарегистрирован: 2018-12-01
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Оптимизация работы сервера и базы данных

ZerG
Ведите разработку локально.
Не, ну это не решает проблему. От того, что у меня локально все будет чики-пуки, я не научусь выявлять проблему на VDS. Меня интересует методика и инструментарий решения таких задач. Ну допустим, я процессы могу посмотреть на убунте. Но я не понимаю, как их правильно интерпретировать. Только в общих чертах.

Офлайн

#4 Дек. 13, 2018 14:23:27

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Оптимизация работы сервера и базы данных

Strashko
От того, что у меня локально все будет чики-пуки, я не научусь выявлять проблему на VDS
А вы для начала убедитесь что локально у вас все “чики-пуки”,чтобы хтябы понмать понимать в какую сторону копать, дальше. Толи проблемы С VDS, толи с инетом, толи в коде сервера гдето косяк.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#5 Дек. 13, 2018 15:53:34

Strashko
Зарегистрирован: 2018-12-01
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Оптимизация работы сервера и базы данных

PEHDOM
чтобы хтябы понмать понимать в какую сторону копать
Я ваш совет принял к сведению. Поставим вопрос иначе.
Допустим, что задача - не устранить этот конкретный косяк, а выявить методику.
Вот я установлю все локально и запущу джаного-сервер. У меня два варианта - все изменилось и стало ОК. Где был косяк? Вопрос то остался…
Второй вариант - все осталось по-прежнему. Где косяк?
Как видим, варианта для начала - два. Но ведь я и сейчас могу их проверить не прибегая к переустановке.
Так вот как?

Ну например, какой вывод можно сделать из того факта, что в uWSGI записал правильное время - 10 сек.
Но при этом вьюха отработала быстро (я просто поставил счетчик) и я увидел готовый контент в терминале. Что происходит в этот период, когда контент уже готов и его надо отдать, но этого не происходит? Какую фичу надо запустить? Может быть обращения к базе происходят и в этот период, а я недостаточно понимаю в оптимизации postgresql?

Офлайн

#6 Дек. 13, 2018 16:24:44

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Оптимизация работы сервера и базы данных

Strashko
У меня два варианта - все изменилось и стало ОК. Где был косяк?
тогда косяк явно не в коде и\или джанги\постгреса, а в настройках VDS, хреновом канале, малом количестве разрешенных открытых дескрипторов и тд, и тп..
Strashko
Второй вариант - все осталось по-прежнему. Где косяк?
тогда проблема таки в джанге\постгресе вобщем в реализации сервера, но не в каналах связи или тормозах VDS-а.
в любом случае вы, как минимум, сразу понимаете где искать точно не нужно(или если нужно то в самую последнюю очередь).

Strashko
Какую фичу надо запустить?
Нужно сначала понять где задержка, пошагово пройтись по всем этапам и посмотреть что занимает сколько времени и потом уже смотрет что делать. Это называеться профилирование, делаеться примерно както так
https://habr.com/company/mailru/blog/202832/
https://habr.com/company/mailru/blog/201778/



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Дек. 13, 2018 16:25:22)

Офлайн

#7 Дек. 13, 2018 20:00:29

Strashko
Зарегистрирован: 2018-12-01
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Оптимизация работы сервера и базы данных

PEHDOM
пошагово пройтись по всем этапам и посмотреть что занимает сколько времени и потом уже смотрет что делать
Спасибо, понял, пошел переваривать…

Офлайн

  • Начало
  • » Django
  • » Оптимизация работы сервера и базы данных[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version