Evgenii Legotckoi
Evgenii Legotckoi5. Januar 2018 02:11

Django - Tutorial 030. Opportunities VDS-Server für 5 $ für das Projekt auf Django

Als die Funktionalität der Website sowie der Datenverkehr zunahmen, gelang es mir, die Fähigkeiten des aktuellen VDS-Servers zu testen, den ich derzeit verwende. Ich möchte meine Erfahrungen mit VDS schildern, sowie zeigen, welche Belastung dieser VDS unter bestimmten Bedingungen und Projektgrößen aushält.

Ich habe mich entschieden, jetzt darüber zu sprechen, weil ich vor einer Woche die Kapazität des Servers durch den Kauf von zusätzlichem Speicher erweitert habe.

Alle weiteren Ausführungen sind subjektiv, aber ich hoffe, dass Sie sich ein Gesamtbild machen können, dank dem Anfänger navigieren können, welche Art von Server sie für ihre Bedürfnisse benötigen, und dies wird die Auswahl erleichtern Server.

Serverkonfiguration

Anfangs arbeitete die Site an der minimalen Konfiguration, die ich übernehmen konnte. Die Kosten des Tarifs betragen 260 Rubel / Monat. Übrigens hat mein Anbieter auch einen günstigeren Tarif (190 Rubel / Monat), aber er ist fest, während mein aktueller Tarif es mir ermöglicht, die Konfiguration zu konfigurieren, die ich benötige, und die Serverkapazität auf eine zu erhöhen, die bei festen Tarifen nicht bereitgestellt wird.

Aufbau:

  1. Prozessorkerne: 2 x 2,7 GHz
  2. Arbeitsspeicher: 512 MB
  3. SSD: 5 GB
  4. Betriebssystem: Ubuntu 16.04
  5. Internetzugang: 100 Mbit/s

Die gesamte Serverkonfiguration erfolgte ausschließlich über die Konsole, ohne Hilfstools wie den ISP Manager, der auch einen Teil des Arbeitsspeichers aufnimmt, sodass mir dieser bescheidene Arbeitsspeicher lange Zeit ausreichte


Django-Projekt

Das Projekt selbst ist bereits stark gewachsen, und es gibt viele Datenmodelle, die für Teile der Website verantwortlich sind, z

Um den vollen Umfang zu verstehen, werde ich die aktuelle Struktur der Modelle der Site-Daten angeben.

Das heißt, die Seite ist schon etwas mehr als ein gewöhnlicher Blog, und ich bemühe mich, sie im Rahmen meiner Freizeit weiterzuentwickeln.

Als die Site wuchs und der Code zunahm, wurde die Abhängigkeit vom Anstieg des Speicherverbrauchs deutlich nachvollzogen. Übrigens ... das erzwungene Strecken der Arme des Programmierers durch einige Methoden mittelalterlicher Folter kann den Speicherverbrauch effektiv reduzieren. Im Ernst, in einigen Fällen reicht es aus, den Code des Projekts zu durchsuchen, wiederholte Codeteile zu finden und sie in separate Methoden oder Unterprojekte zu unterteilen, innerhalb von Django sind dies Anwendungen (die Django-Site-Struktur besteht aus Anwendungen). Daher ist regelmäßiges Refactoring für mich zu einem festen Bestandteil der Website-Entwicklung geworden.

Wenn man bedenkt, dass es in dieser Site-Konfiguration drei aktive gunicorn -Instanzen sowie weitere Sellerie-Instanzen für Benachrichtigungen gab, stieg der Speicherverbrauch bei einem solchen Projekt um As Infolgedessen wurden bis zu 450 MB gespeichert, und einige der Informationen wurden in der Swap-Partition gespeichert, unter der 1 GB der Festplatte zugewiesen wurden. Als Ergebnis betrug die Antwort der Website laut Alexa Traffic Rank 1,089 Sekunden. Nach dem Erhöhen des Speichers auf 1 GB und einigen Optimierungen der Basisvorlage verringerte sich die Antwort auf 0,857 Sekunden. Ich habe vor, an der Direktheit meiner Hände und der Reinheit des Codes zu arbeiten und trotzdem das Zwischenspeichern von Vorlagen zu aktivieren.

Website-Traffic

Im Dezember 2017 stieg der stabile Site-Traffic auf 1050-1150 Unique Visitors pro Tag, was sehr ermutigend ist, und ein neues Ziel für mich war (neben der Entwicklung der Funktionalität), die Site auf 2000 Unique Visitors zu steigern.

Der maximale Site-Traffic wurde am 14. Dezember 2017 aufgezeichnet und betrug 1169 Unique Visitors pro Tag.

Gleichzeitig ist die Belastung des Prozessors jedoch nicht so groß, wie Sie vielleicht denken. Die durchschnittliche tägliche Prozessorlast in dieser Konfiguration beträgt beispielsweise 7 Prozent.

Das heißt, es besteht keine grundsätzliche Notwendigkeit, die Anzahl der Prozessorkerne in dieser Serverkonfiguration zu erhöhen.

Ergebnisse

Tatsächlich kann Django auf der Mindestkonfiguration des VDS-Servers meiner subjektiven Meinung nach auf dem Niveau von 4000-5000 einzelnen Besuchern mit bescheidenerer Funktionalität (etwa dreimal weniger) arbeiten. Was für einen 5-Dollar-Server ziemlich gut ist.

Im Moment habe ich nur die Menge an RAM erhöht, die ich benötige.

Wenn sich jemand für den Hoster interessiert, bei dem ich VDS miete, dann ist das die Firma TIMEWEB , die ich empfehle. Während der Nutzung des VDS-Servers gab es keinen einzigen Ausfall, das Unternehmen warnt im Voraus vor allen vorbeugenden Arbeiten und führt sie nachts nach Moskauer Zeit durch.

Was ich definitiv nicht empfehlen würde, ist der Kauf von Shared Hosting. Für Django ist das Geld- und Zeitverschwendung. Früher oder später kann es sein, dass Sie anfangen zu wachsen und am Ende einen VDS benötigen, und dann gibt es Migrationsprobleme aufgrund von Unterschieden in der Verzeichnisstruktur usw.

Für Django empfehle ich Timeweb-Hoster VDS-Server .

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 07:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 11:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr8. Februar 2024 18:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 10:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 03:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 15:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 09:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 04:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken