wake-up-neo.com

Skaliert Django?

Ich erstelle eine Webanwendung mit Django. Die Gründe, warum ich Django gewählt habe, waren:

  • Ich wollte mit freien/Open-Source-Tools arbeiten.
  • Ich mag Python und denke, es ist eine langfristige Sprache, wohingegen ich in Bezug auf Ruby nicht sicher war und PHP so schien ein riesiger Aufwand zu lernen.
  • Ich baue einen Prototyp für eine Idee und habe nicht zu viel über die Zukunft nachgedacht. Die Entwicklungsgeschwindigkeit war der Hauptfaktor, und ich kannte Python bereits.
  • Ich wusste, dass die Migration zu Google App Engine einfacher sein würde, sollte ich mich in Zukunft dafür entscheiden.
  • Ich habe gehört, dass Django "Nice" ist.

Jetzt, wo ich näher dran bin, meine Arbeit zu veröffentlichen, mache ich mir Sorgen um die Größenordnung. Die einzigen Informationen, die ich über die Skalierungsfunktionen von Django gefunden habe, stammen vom Django -Team (ich sage nichts, um sie zu ignorieren, aber dies sind eindeutig keine objektiven Informationen ... ).

Meine Fragen:

  • Was ist die "größte" Seite, die heute auf Django gebaut wurde? (Ich messe die Größe hauptsächlich anhand des Nutzerverkehrs.)
  • Kann Django mit 100.000 Benutzern täglich umgehen, die die Site jeweils für ein paar Stunden besuchen?
  • Könnte eine Site wie Stack Overflow auf Django laufen?
1073
Roee Adler
  1. "Was sind die größten Sites, die heute auf Django gebaut wurden?"

    Es gibt keinen einzigen Ort, an dem Informationen über den Datenverkehr auf von Django gebauten Websites erfasst werden. Ich muss ihn daher anhand von Daten von verschiedenen Standorten untersuchen. Zuerst haben wir eine Liste von Django Sites auf der Startseite von der Hauptprojektseite von Django und dann eine Liste von Django erstellte Seiten bei djangosites.org . Wenn wir die Listen durchgehen und einige auswählen, von denen ich weiß, dass sie einen anständigen Verkehr haben, sehen wir:

  2. "Kann Django täglich mit 100.000 Benutzern umgehen, die die Site jeweils für ein paar Stunden besuchen?"

    Ja, siehe oben.

  3. "Könnte eine Site wie Stack Overflow auf Django laufen?"

    Mein Bauchgefühl ist ja, aber wie andere geantwortet haben und Mike Malone in seiner Präsentation erwähnt, ist das Datenbankdesign von entscheidender Bedeutung. Starke Beweise finden Sie möglicherweise auch unter www.cnprog.com, wenn wir zuverlässige Verkehrsstatistiken finden. Wie auch immer, es ist nicht nur etwas, was passieren wird, wenn man ein paar Django Modelle zusammenwirft :)

Es gibt natürlich noch viele weitere interessante Websites und Blogger, aber ich muss irgendwo aufhören!


Blog-Beitrag über Verwenden von Django zum Erstellen einer stark frequentierten Website michaelmoore.com beschrieben als Top 10.000-Website . Quantcast stats und compete.com stats .


(*) Der Autor der Bearbeitung, einschließlich eines solchen Verweises, arbeitete als ausgelagerter Entwickler in diesem Projekt.

877
Van Gale

Wir machen jetzt Lasttests. Wir sind der Meinung, dass wir 240 gleichzeitige Anforderungen (eine dauerhafte Rate von 120 Treffern pro Sekunde rund um die Uhr) unterstützen können, ohne dass die Serverleistung erheblich beeinträchtigt wird. Das wären 432.000 Treffer pro Stunde. Die Reaktionszeiten sind nicht klein (unsere Transaktionen sind groß), aber mit zunehmender Auslastung verschlechtern sich unsere Basisleistungen nicht.

Wir verwenden Apache-Frontend Django und MySQL. Das Betriebssystem ist Red Hat Enterprise Linux (RHEL). 64-Bit. Wir verwenden mod_wsgi im Daemon-Modus für Django. Wir haben keine andere Cache- oder Datenbankoptimierung durchgeführt, als die Standardeinstellungen zu akzeptieren.

Wir sind alle in einem VM auf einem 64-Bit-Dell mit (glaube ich) 32 GB RAM.

Da die Leistung für 20 oder 200 gleichzeitige Benutzer nahezu gleich ist, müssen wir nicht viel Zeit für das "Optimieren" aufwenden. Stattdessen müssen wir einfach unsere Basisleistung durch gewöhnliche SSL-Leistungsverbesserungen, gewöhnliches Datenbankdesign und -implementierung (Indizierung usw.), gewöhnliche Firewall-Leistungsverbesserungen usw. aufrechterhalten.

Was wir messen, sind unsere Lasttest-Laptops, die unter der wahnsinnigen Arbeitslast von 15 Prozessen kämpfen, die 16 gleichzeitige Anfragen-Threads ausführen.

258
S.Lott

Ich bin nicht sicher, wie viele Besuche täglich stattfinden, aber hier einige Beispiele für große Django Websites:

Hier ist ein Link zur Liste von stark frequentierten Django Sites auf Quora .

172
Neil

Was ist die "größte" Seite, die heute auf Django gebaut wurde? (Ich messe die Größe hauptsächlich anhand des Nutzerverkehrs.)

In den USA war es Mahalo . Mir wurde gesagt, dass sie ungefähr 10 Millionen Unikate pro Monat verarbeiten. Jetzt, im Jahr 2019, wird Mahalo von Ruby on Rails unterstützt.

Im Ausland das Globo Netzwerk (ein Netzwerk von Nachrichten-, Sport- und Unterhaltungsseiten in Brasilien); Alexa zählt sie zu den Top 100 weltweit (derzeit rund 80).

Andere bemerkenswerte Django Benutzer sind PBS, National Geographic, Discovery, NASA (tatsächlich eine Reihe verschiedener Abteilungen innerhalb der NASA) und die Library of Congress.

Kann Django täglich mit 100.000 Benutzern umgehen, die die Site jeweils für ein paar Stunden besuchen?

Ja - aber nur, wenn Sie Ihre Bewerbung richtig geschrieben haben und über genügend Hardware verfügen. Django ist kein Wundermittel.

Könnte eine Site wie StackOverflow auf Django laufen?

Ja (aber siehe oben).

Technologisch einfach: siehe soclone für einen Versuch. In Bezug auf den Datenverkehr können StackOverflow-Konkurrenten mit weniger als 1 Million Uniques pro Monat eingesetzt werden. Ich kann mindestens ein Dutzend Django Websites mit mehr Verkehr als SO nennen.

102
jacobian

Beim Skalieren von Web-Apps geht es nicht um Web-Frameworks oder Sprachen, sondern um Ihre Architektur. Es geht darum, wie Sie mit Ihrem Browser-Cache umgehen, wie Sie Ihren Datenbank-Cache verwalten, wie Sie nicht standardmäßige Persistenz-Provider verwenden (wie CouchDB ), wie Ihre Datenbank optimiert ist und viele andere Dinge ...

85
razenha

Devil's Advocate ein bisschen spielen:

Sie sollten die DjangoCon 2008 Keynote , geliefert von Cal Henderson , mit dem Titel "Warum ich Django hasse" überprüfen, wo er so ziemlich alles übergeht, was Django fehlt das möchten Sie vielleicht in einer stark frequentierten Website tun. Letztendlich muss man das alles offen nehmen, weil es ist ​​durchaus möglich ist, Django Apps zu schreiben, die sich skalieren lassen, aber ich fand es eine gute Präsentation und relevant für Ihre Frage.

78

Die größte Django Website, die ich kenne, ist die Washington Post , was sicherlich darauf hindeuten würde, dass sie kann gut skalieren.

Gute Designentscheidungen haben wahrscheinlich einen größeren Einfluss auf die Leistung als alles andere. Twitter wird oft als eine Site zitiert, die die Leistungsprobleme mit einem anderen dynamisch interpretierten, sprachbasierten Webframework, Ruby on Rails, verkörpert - dennoch haben die Twitter-Ingenieure festgestellt, dass das Framework nicht so stark ist Dies ist ein Problem, da einige der Datenbankentwürfe von Anfang an getroffen wurden.

Django funktioniert sehr gut mit memcached und bietet einige Klassen zum Verwalten des Caches, mit denen Sie den Großteil Ihrer Leistungsprobleme lösen können. Was Sie auf dem Draht liefern, ist in der Realität fast wichtiger als Ihr Backend - die Verwendung eines Tools wie yslow ist für eine leistungsstarke Webanwendung von entscheidender Bedeutung. Sie können immer mehr Hardware in Ihr Backend werfen, aber Sie können die Bandbreite Ihrer Benutzer nicht ändern.

51
Bayard Randel

Ich war die andere Woche auf der EuroDjangoCon-Konferenz und dies war das Thema einiger Vorträge - auch von den Gründern der größten Site in Django, Pownce (Folien aus einem Vortrag hier ) . Die Hauptbotschaft ist, dass Sie sich nicht umDjangokümmern müssen, sondern um Dinge wie korrektes Caching, Lastausgleich, Datenbankoptimierung usw.

Django hat tatsächlich Haken für die meisten dieser Dinge - insbesondere das Caching ist sehr einfach.

32
Daniel Roseman

Ich bin mir sicher, dass Sie nach einer zuverlässigeren Antwort suchen, aber die naheliegendste objektive Bestätigung, die ich mir vorstellen kann, ist, dass Google Django für die Verwendung mit seinem App Engine -Framework pusht. Wenn jemand etwas über Skalierbarkeit weiß und sich regelmäßig damit befasst, ist es Google. Aus dem, was ich gelesen habe, scheint der einschränkendste Faktor das Datenbank-Back-End zu sein, weshalb Google seine eigenen ...

24
jess

Wie in High Performance Django Book und Gehen Sie dies durch Cal Henderson

Weitere Details siehe unten:

Es ist nicht ungewöhnlich, dass Leute sagen "Django skaliert nicht" . Je nachdem, wie Sie es sehen, ist die Aussage entweder vollständig wahr oder offenkundig falsch. Django allein skaliert nicht.

Dasselbe gilt für Ruby on Rails, Flask, PHP oder jede andere Sprache, die von einer datenbankgesteuerten dynamischen Website verwendet wird.

Die gute Nachricht ist jedoch, dass Django auf wunderbare Weise mit einer Reihe von Caching- und Lastausgleichstools interagiert, die es ihm ermöglichen, sich auf so viel Verkehr zu skalieren, wie Sie darauf werfen können.

Im Gegensatz zu dem, was Sie online gelesen haben, können Sie damit Kernkomponenten ersetzen, die häufig als zu langsam gekennzeichnet sind, z. B. das Datenbank-ORM oder die Vorlagenebene.

Disqus liefert monatlich über 8 Milliarden Seitenaufrufe. Das sind einige riesige Zahlen.

Diese Teams haben bewiesen, dass Django mit Sicherheit skaliert. Unsere Erfahrung hier bei Lincoln Loop bestätigt dies.

Wir haben große Django Websites erstellt, die den Tag auf der Reddit-Homepage verbringen können, ohne ins Schwitzen zu geraten.

Djangos Skalierungserfolgsgeschichten sind zu zahlreich, um sie an dieser Stelle aufzulisten.

Es unterstützt Disqus, Instagram und Pinterest. Willst du noch mehr Beweise? Instagram war in der Lage, mit nur 3 Ingenieuren (von denen 2 keine Back-End-Entwicklung hatten) über 30 Millionen Benutzer auf Django zu unterstützen

17
Mushahid Khan

Heute verwenden wir viele Web-Apps und Websites für unsere Bedürfnisse. Die meisten von ihnen sind sehr nützlich. Ich werde Ihnen einige davon zeigen, die von python oder Django verwendet werden.

Washington Post

Die Website der Washington Post ist eine äußerst beliebte Online-Nachrichtenquelle für ihre Tageszeitung. Das Webframework Django bietet eine enorme Menge an Views und Traffic. Washington Post - 52.2 million unique visitors (March, 2015)

NASA

Auf der offiziellen Website der National Aeronautics and Space Administration finden Sie Nachrichten, Bilder und Videos zu ihrer aktuellen Erforschung des Weltraums. Diese Django Website kann problemlos mit einer großen Anzahl von Ansichten und Zugriffen umgehen. 2 million visitors monthly

Der Wächter

The Guardian ist eine britische Nachrichten- und Medienwebsite der Guardian Media Group. Es enthält fast den gesamten Inhalt der Zeitungen The Guardian und The Observer. Diese riesigen Daten werden von Django verarbeitet. The Guardian (commenting system) - 41,6 million unique visitors (October, 2014)

YouTube

Wir alle kennen YouTube als den Ort, an dem Katzenvideos hochgeladen werden und der fehlschlägt. Als eine der beliebtesten Websites bietet sie uns endlose Stunden an Videounterhaltung. Die Programmiersprache Python unterstützt sie und die Funktionen, die wir lieben.

DropBox

DropBox hat die Revolution in der Online-Dokumentenspeicherung gestartet, die Teil des täglichen Lebens geworden ist. Wir speichern jetzt fast alles in der Cloud. Mit Dropbox können wir fast alles mit der Leistung von Python speichern, synchronisieren und teilen.

mfrage-Affe

Survey Monkey ist das größte Online-Umfrageunternehmen. Sie können täglich über eine Million Antworten auf ihrer umgeschriebenen Python Website bearbeiten.

Quora

Quora ist die Nummer eins im Internet, wenn es darum geht, eine Frage zu stellen und Antworten von einer Community von Einzelpersonen zu erhalten. Auf ihrer Python Website werden relevante Ergebnisse von diesen Community-Mitgliedern beantwortet, bearbeitet und organisiert.

Bitly

Ein Großteil des Codes für Bitly-URL-Verkürzungsdienste und -Analysen wurde mit Python erstellt. Ihr Service kann Hunderte von Millionen von Ereignissen pro Tag bewältigen.

Reddit

Reddit ist als die Titelseite des Internets bekannt. Hier finden Sie online Informationen oder Unterhaltungsangebote, die auf Tausenden verschiedener Kategorien basieren. Posts und Links werden vom Benutzer erstellt und durch Abstimmungen nach oben befördert. Viele der Funktionen von Reddit basieren auf Python.

Hipmunk

Hipmunk ist eine Online-Reisewebsite für Endverbraucher, die die Top-Reisewebsites vergleicht, um die besten Angebote für Sie zu finden. Mit den Tools dieser Python Website können Sie die günstigsten Hotels und Flüge für Ihr Reiseziel finden.

Klicken Sie hier, um weitere Informationen zu erhalten: 25 der beliebtesten Python- und Django-Websites , Was-sind-einige-bekannte-Sites-, die-auf- Django

16
Simplans

Ich denke, wir könnten auch Apples App des Jahres 2011, Instagram , zu der Liste hinzufügen, die Django intensiv verwendet.

15
Milind

Ja, kann es. Es könnte Django mit Python oder Ruby auf Rails sein. Es wird immer noch skalieren.

Es gibt nur wenige verschiedene Techniken. Erstens ist Caching keine Skalierung. Zusätzlich zu den Hardware-Balancern können mehrere Anwendungsserver mit Nginx als Front ausgeglichen werden. Zur Skalierung auf der Datenbankseite können Sie mit read slave in MySQL/PostgreSQL ziemlich weit gehen, wenn Sie den RDBMS-Weg gehen.

Einige gute Beispiele für stark frequentierte Websites in Django könnten sein:

  • Pownce als sie noch da waren.
  • Discus (allgemeiner Manager für geteilte Kommentare)
  • Alle zeitungsbezogenen Websites: Washington Post und andere.

Sie können sich sicher fühlen.

12
coulix

Hier ist eine Liste einiger relativ bekannter Dinge, die in Django gebaut wurden:

  1. Die App " ntersuche die Ausgaben deines Abgeordneten " des Wächters

  2. Politifact.com (hier ist ein Blog-Beitrag über die (positive) Erfahrung zu sprechen. Site gewann einen Pulitzer.

  3. NY Times ' Repräsentant App

  4. EveryBlock

  5. Peter Harkins, einer der Programmierer bei WaPo, listet alle Sachen auf, die sie mit Django erstellt haben auf seinem Blog

  6. Es ist ein bisschen alt, aber jemand von der LA Times gab einen grundlegenden Überblick warum sie mit Django gefahren sind.

  7. Der Onion's AV Club wurde kürzlich von (glaube ich Drupal) nach Django verlegt.

Ich stelle mir vor, dass einige dieser Websites wahrscheinlich mehr als 100.000 Zugriffe pro Tag erzielen. Django kann mit Sicherheit 100.000 Hits/Tag und mehr erzielen. Aber YMMV, wenn es darum geht, Ihre Website dort zu platzieren, je nachdem, was Sie erstellen.

Es gibt Caching-Optionen auf der Ebene Django (z. B. Caching von Abfragesätzen und Ansichten in zwischengespeichert kann Wunder wirken) und darüber hinaus (Upstream-Caches wie Squid ). Die Datenbankserverspezifikationen sind ebenfalls ein Faktor (und in der Regel der Ort, an dem eine Verschwendung stattfindet), ebenso wie die Optimierung. Nehmen Sie zum Beispiel nicht an, dass Django die Indizes richtig einrichtet. Gehen Sie nicht davon aus, dass die Standardkonfiguration PostgreSQL oder MySQL die richtige ist.

Darüber hinaus haben Sie immer die Möglichkeit, mehrere Anwendungsserver mit Django auszuführen, wenn dies der langsame Punkt ist, mit einem Software- oder Hardware-Load-Balancer im Vordergrund.

Bedienen Sie statischen Inhalt auf demselben Server wie Django? Verwenden Sie Apache oder so etwas wie nginx oder lighttpd ? Können Sie es sich leisten, ein CDN für statische Inhalte zu verwenden? Dies sind Dinge, über die man nachdenken muss, aber alles ist sehr spekulativ. 100.000 Hits/Tag ist nicht die einzige Variable: Wie viel möchten Sie ausgeben? Wie viel Know-how haben Sie für die Verwaltung all dieser Komponenten? Wie viel Zeit müssen Sie alles zusammenbringen?

9
mazelife

Der Befürworter des Entwicklers für YouTube gab ein Vortrag über das Skalieren von Python auf der PyCon 2012 , das auch für das Skalieren von Django relevant ist.

YouTube hat mehr als ein Milliarden Nutzer und YouTube basiert auf Python.

8
orokusaki

Ich benutze Django seit über einem Jahr und bin sehr beeindruckt davon, wie es gelingt, Modularität, Skalierbarkeit und Entwicklungsgeschwindigkeit zu kombinieren. Wie bei jeder Technologie gibt es eine Lernkurve. Diese Lernkurve wird jedoch durch die exzellente Dokumentation aus der Django Community deutlich verkürzt. Django hat mit allem, was ich darauf geworfen habe, wirklich gut umgehen können. Es sieht so aus, als könnte es bis in die Zukunft hinein skaliert werden.

BidRodeo Penny Auctions ist eine mittelgroße Django Website. Es ist eine sehr dynamische Website, die täglich eine gute Anzahl von Seitenaufrufen verarbeitet.

7

Wenn Sie mit 100.000 Benutzern pro Tag rechnen, die stundenlang aktiv sind (dh mehr als 20.000 gleichzeitig angemeldete Benutzer), benötigen Sie VIELE Server. SO hat ~ 15.000 registrierte Benutzer, von denen die meisten wahrscheinlich nicht täglich aktiv sind. Während der Großteil des Traffics von nicht registrierten Nutzern kommt, schätze ich, dass nur sehr wenige von ihnen länger als ein paar Minuten auf der Website bleiben (d. H. Sie folgen den Google-Suchergebnissen und verlassen sie dann).

Erwarten Sie für dieses Volume mindestens 30 Server. Das sind immer noch ziemlich viele 1000 gleichzeitige Benutzer pro Server.

6
Beep beep

Was ist die "größte" Site, die heute auf Django gebaut wurde? (Ich messe die Größe hauptsächlich anhand des Nutzerverkehrs) Pinterest
disqus.com
Mehr hier https://www.shuup.com/de/blog/25-of-the-most-popular-python-and-Django-websites/

Kann Django täglich mit 100.000 Benutzern umgehen, die die Site jeweils für ein paar Stunden besuchen?
Ja, aber verwenden Sie eine ordnungsgemäße Architektur, Datenbankdesign, Cache-Nutzung, Lastenausgleich und mehrere Server/Knoten

Könnte eine Site wie Stack Overflow auf Django laufen?
Ja, ich muss nur die Antwort befolgen, die in der 2. Frage erwähnt wurde

5
Ranju R

Ein weiteres Beispiel ist rasp.yandex.ru, der russische Fahrplan-Service. Ihre Anwesenheit entspricht Ihren Anforderungen.

5
Glader

Wenn Sie eine Site mit statischem Inhalt haben, können Sie durch das Voranstellen eines Varnish -Servers die Leistung erheblich steigern. Sogar eine einzelne Box kann dann problemlos 100 Mbit/s Datenverkehr ausspucken.

Beachten Sie, dass die Verwendung von Lack bei dynamischen Inhalten sehr viel schwieriger wird.

5

Ich entwickle stark frequentierte Websites mit Django für den nationalen Sender in Irland. Es funktioniert gut für uns. Bei der Entwicklung einer leistungsstarken Site geht es nicht nur um die Auswahl eines Frameworks. Ein Framework ist nur ein Teil eines Systems, das so stark wie das schwächste Glied ist. Die Verwendung des neuesten Frameworks 'X' löst Ihre Leistungsprobleme nicht, wenn das Problem langsame Datenbankabfragen oder schlecht konfigurierte Server oder Netzwerke sind.

5
redsnapper

Meine Erfahrung mit Django ist minimal, aber ich erinnere mich, dass sie in The Django Book ein Kapitel haben, in dem sie Leute interviewen, die einige der größeren Django -Anwendungen ausführen. Hier ist ein Link. Ich denke, es könnte einige Einblicke geben.

Es heißt, dass curse.com eine der größten Django Anwendungen mit etwa 60-90 Millionen Seitenaufrufen pro Monat ist.

5
tomeedee

Obwohl es hier viele großartige Antworten gab, möchte ich nur darauf hinweisen, dass niemand Wert darauf gelegt hat.

Kommt auf die Anwendung an

Wenn Ihre Anwendung leicht zu schreiben ist, lesen Sie wie in viel mehr Daten aus der DB als Sie schreiben. Dann sollte die Skalierung von Django ziemlich trivial sein. Machen Sie sich das zunutze und sagen Sie, Sie werden als Cache-Provider wiederbelebt, stellen einen Load-Balancer vor, starten n-Instanzen und Sie sollten in der Lage sein, mit SEHR viel Verkehr umzugehen.

Müssen Sie jetzt Tausende von komplexen Schreibvorgängen pro Sekunde ausführen? Andere Geschichte. Wird Django eine schlechte Wahl sein? Nun, nicht unbedingt, hängt davon ab, wie Sie Ihre Lösung wirklich entwerfen und welche Anforderungen Sie haben.

Nur meine zwei Cent :-)

4
JustDanyul

Das Problem ist nicht zu wissen, ob Django skalieren kann oder nicht.

Der richtige Weg ist zu verstehen und zu wissen, welche Netzwerkdesignmuster und -werkzeuge für Ihr Django/Symfony/Rails-Projekt gut skalierbar sind.

Einige Ideen können sein:

  • Multiplexing.
  • Inverser Proxy. Bsp .: Nginx, Lack
  • Memcache-Sitzung. Bsp .: Redis
  • Clustering in Ihrem Projekt und DB für Load Balancing und Fehlertoleranz: Beispiel: Docker
  • Verwenden Sie Drittanbieter, um Assets zu speichern. Beispiel: Amazon S3

Hoffe es hilft ein bisschen. Das ist mein kleiner Stein zum Berg.

3
gmourier

Ich glaube nicht, dass es wirklich um Django Skalierung geht.

Ich schlage wirklich vor, dass Sie sich mit Ihrer Architektur befassen, um die Skalierungsanforderungen zu erfüllen. Wenn Sie das falsch verstehen, gibt es keinen Grund dafür, wie gut Django abschneidet. Leistung! = Maßstab. Sie können ein System haben, das eine erstaunliche Leistung aufweist, aber nicht skaliert und umgekehrt.

Ist Ihre Anwendungsdatenbank gebunden? Wenn ja, dann liegen auch Ihre Skalenprobleme dort. Wie wollen Sie mit der Datenbank von Django interagieren? Was passiert, wenn Ihre Datenbank Anforderungen nicht so schnell verarbeiten kann, wie Django sie akzeptiert? Was passiert, wenn Ihre Daten aus einer physischen Maschine herauswachsen? Sie müssen berücksichtigen, wie Sie mit diesen Umständen umgehen möchten.

Was passiert außerdem, wenn Ihr Datenverkehr über einen App-Server hinauswächst? In diesem Fall kann es schwierig sein, mit Sitzungen umzugehen. In den meisten Fällen benötigen Sie wahrscheinlich eine Shared-Nothing-Architektur. Auch das hängt von Ihrer Anwendung ab.

Kurz gesagt: Sprachen bestimmen nicht den Maßstab, sondern die Leistung wird von einer Sprache bestimmt (je nach Anwendung werden verschiedene Sprachen unterschiedlich ausgeführt). Es ist Ihr Design und Ihre Architektur, die das Skalieren Wirklichkeit werden lassen.

Ich hoffe, es hilft, würde mich freuen, wenn Sie weitere Fragen haben.

3
Anand Davis

Schauen Sie sich diesen Micro News Aggregator mit dem Namen EveryBlock an.

Es ist komplett in Django geschrieben. Tatsächlich sind sie die Leute, die das Django Framework selbst entwickelt haben.

3
siddu

In Django können Sie auf jeden Fall eine stark frequentierte Site betreiben. Schauen Sie sich diesen vor Django 1.0 veröffentlichten, aber immer noch relevanten Beitrag hier an: http://menendez.com/blog/launching-high-performance-Django-site/

3
Ed Menendez

Wenn Sie Open Source verwenden möchten, gibt es viele Optionen für Sie. Aber python ist das Beste unter ihnen, es hat viele Bibliotheken und eine super tolle Community. Dies sind Gründe, die Ihre Meinung ändern könnten:

  • Python ist sehr gut, aber es ist eine interpretierte Sprache, die es langsam macht. Es gibt jedoch viele Beschleuniger- und Caching-Dienste, die dieses Problem teilweise lösen.

  • Wenn Sie über eine schnelle Entwicklung nachdenken, ist Ruby on Rails das Beste unter allen. Das Hauptmotto dieses Frameworks (ROR) ist es, den Entwicklern eine komfortable Erfahrung zu bieten. Wenn Sie Ruby und Python vergleichen, haben beide fast die gleiche Syntax.

  • Google App Engine ist ein sehr guter Service, der Sie jedoch in seinen Anwendungsbereich einbindet. Sie haben keine Chance, neue Dinge auszuprobieren. Stattdessen können Sie Digital Ocean Cloud verwenden, für deren einfachstes Tröpfchen nur $ 5/Monat berechnet werden. Herok ist ein weiterer kostenloser Dienst, mit dem Sie Ihr Produkt bereitstellen können.

  • Ja! Ja! Was Sie gehört haben, ist völlig richtig, aber hier sind einige Beispiele, die andere Technologien verwenden

    • Rails: Github, Twitter (vorher), Shopify, Airbnb, Slideshare, Heroku etc.
    • PHP: Facebook, Wikipedia, Flickr, Yahoo, Tumbler, Mailchimp etc.

Fazit ist ein Rahmen oder Sprache wird nicht alles für Sie tun. Durch eine bessere Architektur, Gestaltung und Strategie erhalten Sie eine skalierbare Website. Instagram ist das größte Beispiel, dieses kleine Team verwaltet so große Datenmengen. Hier ist ein Blog über seine Architektur muss es gelesen werden.

3
pulkit

Es ist notwendig, die Aufgaben gleichmäßig zu verteilen, kurz gesagt, jeden einzelnen Aspekt einschließlich DBs, Dateien, Bildern, CSS usw. zu optimieren und die Last mit mehreren anderen Ressourcen auszugleichen, sobald Ihre Site/Anwendung wächst. OR Sie schaffen etwas mehr Platz, damit es wächst. Die Implementierung der neuesten Technologien wie CDN und Cloud ist ein Muss für große Websites. Nur eine Anwendung zu entwickeln und zu optimieren, bringt nicht die hundertprozentige Zufriedenheit. Andere Komponenten spielen ebenfalls eine wichtige Rolle.

2
Ashwin