Contact salesFree trial
Blog

Wie man die Ressourcenzuweisung und die Cloud-Datenbankdienste für Express-Anwendungen optimiert

ExpressKonfigurationMariaDBGitHubRessourcenzuweisungRessourcen
Florent Huck
DevRel Ingenieur
Share

Vielleicht kennen Sie unsere frühere Schnellstart-Anleitung zum Hosting von Express auf Upsun, in der beschrieben wird, wie Sie Ihre Express-Anwendungen schnell und effektiv auf dem Upsun PaaS einrichten können . Wir wollten in diesem Leitfaden noch einen Schritt weiter gehen und Ihnen zeigen, wie Sie die Leistung Ihrer Express-Anwendungen optimieren können, indem Sie die flexible Ressourcenzuweisung und die vonMariaDB in der Cloud verwalteten Datenbankdienste nutzen . Fangen wir gleich an!

Flexible Ressourcenzuweisung für Ihre Express-Anwendungen

Upsun-Projekte basieren auf Containern, wobei jedem Dienst/jeder Laufzeit ein eigener Container mit jeweils eigenen CPU/RAM- und Festplattenressourcen zur Verfügung steht. Mit der flexiblen Ressourcenzuweisung können Sie einfach den Containerspeicher und CPU/RAM pro Container, pro Umgebung, jederzeit erhöhen oder verringern.

Während der ersten Inbetriebnahme Ihrer Produktionsumgebung verwendet Upsun die Standardgröße für jeden Ihrer Dienst-/Anwendungscontainer. Im Allgemeinen sollten die folgenden Ressourcen effektiv sein, aber Sie können diese Werte immer an die Bedürfnisse Ihrer Anwendung anpassen:

  • 1 Node.js Container-Instanz
  • mit CPU: 0.5, 224MB Speicher
  • und 0MB Festplatten-/Speicherplatz

Hier erfahren Sie, wie Sie Ihre Ressourcen an die Bedürfnisse Ihrer Express-Anwendung anpassen können:

So skalieren Sie Ihren Container-Speicher und CPU/RAM

Wenn Sie benutzerdefinierte Ressourcen (CPU, Speicher und Festplatte) definieren müssen, ist das Verfahren einfach. Klicken Sie in der Umgebungsansicht der Upsun-Konsole auf Ressourcen konfigurieren, die Sie auf der linken Seite der Konsolenoberfläche finden - dies ist auch über die CLI möglich. Von dort aus können Sie die zugewiesenen Ressourcen an die Anforderungen Ihrer Anwendung anpassen.

Bitte beachten Sie: Wenn Sie einen neuen Git-Zweig pushen, verwendet die entsprechende Upsun-Umgebung die gleichen Ressourcen wie die übergeordnete Umgebung.

Sobald Sie Ihre Auswahl bestätigt haben, wird Upsun Ihre Auswahl übernehmen, die zuvor erstellten Images sammeln, Ihre Ressourcenselektion auf sie anwenden und Ihre vollständige Anwendung erneut bereitstellen. Weitere Informationen finden Sie in unserer Dokumentation über die Verwaltung von Ressourcen auf Upsun.

Verwendung der Open-Source-Datenbank MariaDB

MariaDB ist eine beliebte Open-Source-Datenbank und ein Anbieter von Cloud-verwalteten Datenbankdiensten, der die Leistung, Effizienz und den Umfang von Datenbanken verbessert. Möchten Sie diese Vorteile auch für sich nutzen? Hier erfahren Sie, wie Sie MariaDB mit Ihren Express-Anwendungen auf Upsun verwenden können:

Erstellen Sie eine neue Umgebung

Bitte beachten Sie: Die gleichen Regeln, die für Git-Workflows gelten, gelten auch für Upsun-Projekte: Aktualisieren Sie niemals direkt Ihre Produktionsumgebung und erstellen Sie immer einen neuen Zweig, um Ihre lokalen Änderungen zu testen.

Um Ihre Anwendung zu aktualisieren, erstellen Sie wie gewohnt über Ihr Terminal einen neuen Git-Zweig, implementieren die gewünschten Änderungen und pushen den Zweig in Ihr GitHub-Repository.

git switch -c add-mariadb && git push -u origin add-mariadb

Hinzufügen eines MariaDB-Dienstes zu Ihrer Umgebung

Um einen neuen MariaDB-Dienst zu Ihrer Anwendung hinzuzufügen, müssen Sie zunächst eine neue Dienstdefinition in Ihre .upsun/config. yaml-Datei einfügen , und zwar innerhalb der services: top-level key:

# .upsun/config.yaml services: mariadb: type: mariadb:11.0

Fügen Sie dann eine Beziehungseinstellung in Ihrer Anwendung hinzu, die dem Dienstnamen mariadbentspricht :

# .upsun/config.yaml applications: app: relationships: mariadb: 

Pushen Sie dann Ihre Änderungen in Ihr Repository:

git commit -am "Hinzufügen des Dienstes MariadDB 11" && git push

Verwenden Sie MariaDB in Ihrer Anwendung

Zuerst müssen Sie ein Node.js-Modul namens mysql2importieren , um mit Ihrer lokalen Datenbank zu interagieren. Importieren Sie es mit dem folgenden Befehl:

npm install mysql2

Dann aktualisieren Sie Ihre index. js-Datei mit folgendem:

const express = require('express') const app = express() const mysql = require("mysql2/promise"); const port = (process.env.PORT || '3000'); function openConnection() { let database_password = 'express' if (process.env.MARIADB_PASSWORD !== undefined) { database_password = process.env.MARIADB_PASSWORD } return mysql.createConnection({ host: (process.env.MARIADB_HOST || '127.0.0.1'), port: (process.env.MARIADB_PORT || '3306'), user: (process.env.MARIADB_USERNAME || 'user'), password: database_password, database: (process.env.MARIADB_PATH || 'express') }); } function createTable(connection) { return connection.execute( 'CREATE TABLE IF NOT EXISTS upsuninfo (uid INT(10) NOT NULL AUTO_INCREMENT, username VARCHAR(64) NULL DEFAULT NULL, departname VARCHAR(128) NULL DEFAULT NULL, created DATE NULL DEFAULT NULL, PRIMARY KEY (uid) ) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;' ); } function insertData(connection) { return connection.execute( "INSERT INTO upsuninfo (username, departname, created) VALUES ('upsun', 'Deploy Friday', '2023-09-29')" ); } function readData(connection) { return connection.query("SELECT * FROM upsuninfo"); } function dropTable(connection) { return connection.execute("DROP TABLE upsuninfo"); } // Definieren Sie die Hauptroute. app.get('/', async function(req, res){ // Verbinden Sie sich mit MariaDB. const connection = await openConnection(); await createTable(connection); await insertData(connection); const [rows] = await readData(connection); const droppedResult = await dropTable(connection); // Erstellen Sie die Ausgabe. const outputString = `Hallo, Welt! - Eine einfache Express-Webframework-Vorlage für Upsun MariaDB Tests: * Verbinden und Zeile hinzufügen: - Zeilen-ID (1): ${rows[0].uid} - Benutzername (upsun): ${rows[0].username} - Abteilung (Deploy Friday): ${rows[0].departname} - Erstellt (2024-04-30): ${rows[0].created} * Zeile löschen: - Status (0): ${droppedResult[0].warningStatus}`; res.set('Content-Type', 'text/plain'); res.send(outputString); }); // PORT abfragen und den Server starten app.listen(port, function() { console.log(`Listening on port ${port}`) });

Übertragen Sie schließlich Ihre Änderungen mit folgendem Befehl:

git commit -am "use MariaDB in index.js" && git push

Bitte beachten Sie: Wenn Sie die Upsun CLI bereits installiert haben, können Sie auch den Befehl upsun push (anstelle von git push) verwenden, da dieser die upsun Git-Remote verwendet, um Ihren Code ebenfalls zu pushen, und diese Remote als dieselbe wie origin definiert ist.

Wenn Sie einen neuen Zweig in Ihr Repository pushen, wird automatisch eine neue, inaktive Upsun-Vorschau-Umgebungerstellt , die auf dem Quellcode Ihres Zweigs und den Daten der übergeordneten Umgebung (Datenbank und/oder Assets) basiert. Diese neue Umgebung ist standardmäßig nicht aktiv, was bedeutet, dass sie keine Ressourcen verbraucht. Um sie schließlich zu testen, müssen Sie sie mit dem folgenden Befehl aktivieren:

upsun environment:activate

Am Ende der Aktivierung wird Ihre add-mariadb-Umgebung bereitgestellt und Sie können über die Konsole darauf zugreifen, indem Sie zur entsprechenden Umgebung gehen und auf ihre vordere URL klicken oder indem Sie den folgenden CLI-Befehl verwenden:

upsun environment:url --primary

Ein kleines Extra: Erstellen Sie einen lokalen Docker-Container mit MariaDB

Um MariaDB lokal testen zu können, müssen Sie eine lokale MariaDB-Datenbank-Engine verwenden. Am schnellsten geht das, indem Sie entweder einen SSH-Tunnel zu Ihrer Umgebung öffnen oder einen lokalen Docker-Container hinzufügen. Um einen lokalen Docker-Container hinzuzufügen, erstellen Sie im Stammverzeichnis Ihres Projekts eine Datei docker-compose.yaml mit folgendem Inhalt:

version: '3.1' volumes: data: services: db: image: mariadb:latest restart: always environment: MARIADB_ROOT_PASSWORD: express MARIADB_PASSWORD: express MARIADB_USER: user MARIADB_DATABASE: express volumes: - data:/var/lib/mysql ports: - "3306:3306"

Anschließend können Sie den entsprechenden Docker-Container starten:

docker-compose up -d

Übertragen Sie anschließend Ihre Datei, damit andere Teammitglieder sie verwenden können:

git commit -am "Docker-compose file" && git push

So führen Sie Ihre Express-Anwendung lokal aus

Wenn Sie Ihre Route lokal testen möchten, können Sie die folgenden Befehle verwenden, um den Node.js-Server für Ihre index. js-Datei zu starten :

node index.js

Und öffnen Sie dann in Ihrem Browser den folgenden Link: http://localhost:3000/. Wenn Sie mit Ihren Änderungen zufrieden sind, führen Sie Ihren Funktionszweig add-mariadb mit dem Hauptzweigzusammen , indem Sie den normalen Git-Arbeitsablauf verwenden:

git checkout main git merge add-mariadb git push

Ihre Hauptumgebung wird dann automatisch bereitgestellt und Sie können darauf zugreifen, indem Sie entweder die Konsole verwenden, indem Sie zur entsprechenden Umgebung gehen und auf ihre vordere URL klicken, oder indem Sie den folgenden CLI-Befehl verwenden:

upsun environment:url --primary

Bitte beachten Sie: Vergessen Sie nicht, Ihren add-mariadb Git-Zweig zu entfernen (lokal und remote), um sicherzustellen, dass Sie die entsprechende Upsun-Umgebung entfernen. Dies kann wie folgt geschehen:

git branch -D add-mariadb git push origin --delete add-mariadb

Dadurch werden Ihre lokalen und entfernten Zweige gelöscht, und der GitHub-Integrationsprozess deaktiviert und entfernt die entsprechende Upsun-Umgebung.

Und schon sind Sie bereit, mit Ihren Express-Anwendungen zu spielen, die nun mit optimierten Ressourcen und MariaDB-Magie ausgestattet sind. Viel Spaß!

Bleiben Sie auf unseren Social Media- und Community-Kanälen immer auf dem Laufenden . Besuchen Sie uns auf Dev.to, Reddit und Discord.

Ihr größtes Werk
steht vor der Tür

Kostenloser Test
Discord
© 2025 Platform.sh. All rights reserved.