2010-06-27 4 views
1

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

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

Q2: какое решение для хостинга (общий/vps/выделенный) стоит рассмотреть?

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

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

ответ

2

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

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

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

1

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

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

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

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

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