Watch a demoFree trial
Blog

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

ExpressKonfigurationMariaDBGitHubRessourcenzuweisungRessourcen
04 August 2025
Florent Huck
Florent Huck
DevRel Ingenieur
Teilen Sie
Dieser Beitrag ist auch auf Französische und Englische.

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 Performance Ihrer Express-Anwendungen optimieren können, indem Sie die flexible Ressourcenzuweisung und die von MariaDB 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-Branch 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 Performance, 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 Branch, um Ihre lokalen Änderungen zu testen.

Um Ihre Anwendung zu aktualisieren, erstellen Sie wie gewohnt über Ihr Terminal einen neuen Git-Branch, implementieren die gewünschten Änderungen und pushen den Branch 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 mariadb entspricht :

# .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 mysql2 importieren , 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].ui

Ü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 Branch in Ihr Repository pushen, wird automatisch eine neue, inaktive Upsun-Vorschau-Umgebung erstellt , die auf dem Quellcode Ihres Branches 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 Featuresbranch add-mariadb mit dem Main-Branch zusammen , indem Sie den normalen Git-Workflows 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-Branch 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 Branches 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.