Затраты на инфраструктуру Django (влияние на производительность) в Google Apps Engine - PullRequest
2 голосов
/ 19 июля 2010

Интересно, а кто-нибудь исследовал, сколько накладных расходов будет представлять инфраструктура Django по сравнению с простой веб-платформой Google App Engine?

Я планирую провести несколько тестов и выяснить, как выглядят накладные расходы, и, надеюсь,выясните, оказывает ли это существенное влияние на приложение с хранилищем данных (поскольку хранилище данных будет узким местом).

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

Ответы [ 2 ]

2 голосов
/ 20 июля 2010

Исходный код тестового проекта: http://github.com/mave99a/framework-overhead-test

Тест развернут здесь:

Веб-приложение:

http://webapp.latest.robmao-app-01.appspot.com

простое действие:

/test-1k/
/test-10k/
/test-1m/

файл статики:

/statics/test-1k.html
/statics/test-10k.html
/statics/test-1m.html

Джанго:

http://django.latest.robmao-app-01.appspot.com

простое действие:

/test-1k/
/test-10k/
/test-1m/

прямой шаблон:

/template/test-1k/
/template/test-10k/
/template/test-1m/

Результаты (20 июня, Роберт, Verizon FiOS)

ки

Как подсчитывается результат: 5 раз запустите «ab -n 500 -c 100», получите лучший результат из 5 тестов.

                 RPS
 Static          445
 Webapp          363
 Django          363
 Django template 355

10k

                 RPS
 Static          184
 Webapp          160
 Django          153
 Django template 156

1M

                 RPS
 Static          9.2
 Webapp          11.8
 Django          9.5
 Django template 13.7

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

2 голосов
/ 20 июля 2010

Хотя вы, вероятно, уже исследовали это, я лично не рекомендовал бы использовать Django в App Engine.

  • Вы должны использовать API базы данных App Engine, поэтому вы не можете использовать потрясающий ORM Джанго.
  • Запросы App Engine довольно ограничены (по крайней мере, последний раз, когда я смотрел), так как вы можете возвращать только ограниченное количество записей для любого запроса, и вы не можете сделать многое с точки зрения полнотекстового поиска или чего-то подобного % запросов%.
  • Вы очень заперты в App Engine. Хотя это отличная система, вы никогда не знаете, чего хотите в будущем.

Хотя я не делал реальных тестов, накладные расходы должны быть минимальными. Вы просто будете использовать маршрутизацию URL Django, систему просмотра и шаблонизатор. Если вы настаиваете на использовании App Engine и вам нравится система Django «Model-Template-View», я скажу, что сделайте это.

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