localhost django dev server против postgres медленно на Mac OS? - PullRequest
3 голосов
/ 10 октября 2009

Кто-нибудь замечал медлительность сервера django dev, работающего в Mac OS и подключающегося к удаленной базе данных (postgres)? Кажется, это не проблема DNS, на которую ссылаются в другом месте. У нас есть промежуточный экземпляр, выполняющий точно такой же код на том же удаленном промежуточном блоке, где размещается БД, и производительность на этом экземпляре очень четкая.

Вот вывод промежуточного программного обеспечения, работающего локально:

Всего: 19,58 Python: 6,39 DB: 13,19 Запросы: 17

А на промежуточном сервере:

Всего: 0,07 Python: 0,05 DB: 0,02 Запросы: 16

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

Ответы [ 2 ]

6 голосов
/ 10 октября 2009

Две вещи:

  1. Сервер разработки Django мучительно медленный. Любые внешние соединения будут ограничены этим.
  2. Соединение с внешней базой данных ограничено локальными восходящими и нисходящими возможностями вашей машины (узким местом обычно является ваше интернет-соединение).

Каждый раз, когда вы разрабатываете локально и подключаетесь к внешнему серверу базы данных, это будет медленным. Для одновременной разработки Drupal на работе мы контролируем нашу папку sites и используем ту же базу данных, которая, хотя и внешняя, никогда не покидает нашу локальную сеть. Это по-прежнему похоже на патоку на Аляске в январе.

Я настоятельно рекомендую локально настроить PostgreSQL и скопировать вашу внешнюю базу данных в локальную. Это не очень трудоемкий процесс, он избавит вас от головной боли и сделает вашу работу более продуктивной.

0 голосов
/ 01 апреля 2015

Я столкнулся с той же проблемой, когда использовал копию рабочей базы данных в среде разработки. Проблема оказалась в таблице django_session размером около гигабайта. Простейшим решением было очистить эту таблицу, поскольку мне не нужно было использовать данные сессий пользователей при разработке. Я использовал простую команду:

TRUNCATE TABLE 'django_session'

также дополнительную информацию по этому вопросу можно найти здесь: https://dba.stackexchange.com/questions/52733/why-django-session-table-grows-on-postgresql

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...