Как выбрать сервер для производственного выпуска моего приложения Django? - PullRequest
1 голос
/ 27 июня 2010

Моя компания находится в самом конце процесса разработки какого-то (удивительного :)) веб-приложения. Это приложение будет доступно как онлайн-сервис для (надеюсь) значительного числа пользователей. Это наша самая большая версия django, и пока мы готовимся к выпуску, нужно ответить на некоторые вопросы о развертывании.

Q1: как определить требуемые параметры сервера для прогнозируемого числа пользователей X / Y в минуту или другого фактора?

Q2: какое решение для хостинга (shared / vps /edic) стоит рассмотреть?

Q3: какие оптимизации можно сделать в первую очередь?

Я знаю, что это очень субъективно и зависит от размера сайта, качества кода и других факторов, но мне очень интересен ваш опыт развертывания django (и не только django). Любые намеки, ссылки, советы приветствуются. Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 27 июня 2010

Какое хостинговое решение вы хотите иметь, зависит также от того, сколько вы хотите взять с вашего сервера самостоятельно (от обновлений и т. Д. До резервного копирования ...), и вам следует решить, хотите ли вы взять на себя ответственность или оставить это кому-либоостальное.

Я думаю, что вы можете реально определить необходимые требования и узкие места в своих приложениях только путем тестирования с предполагаемой нагрузкой!Попробуйте смоделировать столько запросов .... сколько вы ожидаете - подумайте о кэшировании (где memcached - лучший вариант, который у вас есть)!Если вы пытаетесь кешировать вещи, то одним из лучших инструментов является панель отладки django (http://github.com/robhudson/django-debug-toolbar), которая также может показать вам, сколько обращений к базе данных у вас есть (не принимайте время, которое он показывает, как само собой разумеющееся, но анализируйте их иследите за количеством обращений) и, например, сколько шаблонов отображается ...

Если ваша система развивается, вы можете прежде всего подумать об обслуживании статических медиа-файлов из другого места!веб-сервер У меня большой опыт использования lighttpd вместо толстого apache, но я полагаю, вы должны оценить это сами! Также примите во внимание, какой сервер базы данных использовать, в общих средах в большинстве случаев большая нагрузка на mysqlчем на серверах postgres, но также оцените, что лучше для вас!

1 голос
/ 27 июня 2010

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

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

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

Что касается оптимизации, если она соответствует вашим потребностям, реализуйте некоторое кэширование (например, с memchached), которое может дать вам огромноеулучшения скорости.

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