VPS für Telegram-Bot: welchen Tarif benötigt man und von was hängt die Belastung ab

VPS für Telegram-Bot: welchen Tarif benötigt man und von was hängt die Belastung ab

Für den Telegram-Bot sollte man ein VPS/VDS nicht nach der Anzahl der Abonnenten, sondern nach dem, was nach jeder Nachricht passiert, auswählen. Ein Bot mit 20.000 Nutzern kann den Server kaum belasten, wenn er nur vorbereitete Antworten anzeigt. Gleichzeitig kann ein kleiner Laden mit mehreren Hundert aktiven Kunden während Aktionen und Versandkampagnen die CPU, den Speicher oder die Datenbank stark beanspruchen.

Es gibt keinen universellen „Tarif für Bots“. Die Ressourcen werden durch die Programmiersprache und das Framework, die Art der Aktualisierung, die Anzahl gleichzeitiger Anfragen, die Arbeit mit Dateien, externe Integrationen und Hintergrundaufgaben beeinflusst. Auch ein Puffer ist notwendig: Ein Server, der an einem normalen Tag fast den gesamten Arbeitsspeicher nutzt, ist nicht bereit für Spitzenlasten.

Vom Informationsbot zum KI-Service

Ein praktischer Starttarif kann anhand des Arbeitsablaufs bewertet werden:

  1. Ein einfacher Informationsbot. Menüs, Befehle, Antworten auf häufig gestellte Fragen, das Bereitstellen von Links oder Dateien erfordern keine große Konfiguration. Für einen Bot-Prozess, einen Webserver und eine kleine SQLite-Datenbank sind in der Regel 1–2 vCPU, 2 GB RAM und 20-35 GB Speicherplatz ausreichend. Das reicht für Code, Protokolle und Systempakete.

  2. Telegram-Shop. Hier kommen Katalog, Warenkorb, Bestellungen, Zahlungen, Bestände, Produktfotos und die Synchronisation mit CRM oder Website hinzu. Die Belastung entsteht nicht durch den „Kaufen“-Button, sondern durch die Kette von Operationen nach dem Klick. Ein kluger Minimalwert wären 2-3 vCPU, 4 GB RAM und eine schnelle NVMe-Festplatte. Für einen großen Katalog und regelmäßigen Import von Produkten sollten besser 6 GB RAM eingeplant werden.

  3. Support-Bot. Er benötigt die Historie der Dialoge, die Verteilung der Anfragen zwischen den Operatoren, Anhänge, Benachrichtigungen und die Integration mit einem Helpdesk-System. Bei geringem Anfragevolumen sind 4 GB RAM ausreichend, aber die parallele Arbeit eines Webpanels, PostgreSQL, Redis und mehrerer Handler erhöht schnell den Speicherverbrauch. Für einen 24/7-Service sind 3-4 vCPU und 4-6 GB RAM angemessen.

  4. Bot mit Datenbank oder KI. Wenn er Profile, den Verlauf der Korrespondenz, Suchergebnisse und Analysen speichert, werden Geschwindigkeit der Festplatte, Optimierung der Anfragen und Caching entscheidend. Für die Arbeit mit einer externen API eines Sprachmodells ist eine Grafikkarte auf dem VPS nicht erforderlich: Der Server bereitet die Anfrage vor, speichert den Kontext und gibt die Antwort zurück. Man kann mit 4-6 GB RAM starten. Lokale Ausführungen von Modellen erfordern oft einen GPU-Server, deutlich mehr Speicher und separate Berechnungen.

Lesen Sie auch: OpenVZ, Xen und KVM – wir vergleichen beliebte Virtualisierungstechnologien

In der VPS-UP-Reihe hat die Konfiguration KVM-35 2 vCPU, 2 GB RAM und 35 GB NVMe, KVM-75 – 3 vCPU und 4 GB RAM, und KVM-100 – 4 vCPU und 6 GB RAM. Der erste Tarif eignet sich für einen einfachen Bot, der zweite für einen Laden oder Support mittlerer Größe, der dritte für ein Projekt mit Datenbank, Cache, Warteschlangen und mehreren Workflows.

Wenn der Bot Tausende gleichzeitiger Anfragen bearbeitet, mit einer großen Datenbank arbeitet, lokale KI-Modelle ausführt oder ressourcenintensive Dateioperationen durchführt, könnten die Möglichkeiten des VPS mit der Zeit nicht ausreichen. In diesem Fall sollte man einen dedizierten Server in Betracht ziehen, bei dem CPU, RAM und Festplatten nicht zwischen mehreren Kunden aufgeteilt werden. Dies bietet eine stabilere Leistung unter langanhaltender Belastung und ermöglicht eine genauere Anpassung der Konfiguration, einschließlich eines Servers mit großem RAM, mehreren NVMe-Festplatten oder einem Grafikbeschleuniger.

Warum die Anzahl der Nutzer die tatsächliche Belastung nicht zeigt

Telegram erlaubt das Empfangen von Updates auf zwei sich gegenseitig ausschließenden Wegen: über Long Polling mit der Methode getUpdates oder über Webhook. Updates, die der Bot nicht abgerufen hat, werden seitens Telegram nicht länger als 24 Stunden gespeichert. Für Webhook kann man von 1 bis 100 gleichzeitige HTTPS-Verbindungen einstellen: Ein höherer Wert erhöht die Bandbreite, erzeugt jedoch einen höheren parallelen Druck auf die Anwendung.

Long Polling funktioniert gut in kleinen Projekten und während der Entwicklung. Für einen Laden, Support oder einen Dienst mit unregelmäßigem Anfrageaufkommen ist Webhook in der Regel bequemer. Es beseitigt jedoch nicht die Spitzenlasten. Wenn nach einer Nachricht Anfragen an die Datenbank, die Dokumentengenerierung, die Zahlungsüberprüfung und Anfragen an eine externe API gestartet werden, sollten diese Operationen in eine Warteschlange übergeben und nicht in einem Prozess ausgeführt werden.

Die Möglichkeiten des Servers sollten auch nicht mit den Limits von Telegram verwechselt werden. Offizielle Empfehlungen raten davon ab, mehr als eine Nachricht pro Sekunde in einen Chat zu senden, für Gruppen gilt eine Begrenzung von etwa 20 Nachrichten pro Minute, und kostenlose Massenversendungen sind auf etwa 30 Nachrichten pro Sekunde begrenzt. Kostenpflichtige Versendungen können das Limit auf 1000 Nachrichten pro Sekunde erhöhen, sind jedoch unter bestimmten Bedingungen verfügbar. 

Lesen Sie auch: Virtuelle Server in der Entwicklung: Wie man das Leben von Programmierern erleichtert

Ein leistungsfähigerer VPS umgeht diese Einschränkungen nicht, hilft jedoch dabei, Warteschlangen zu bilden, Anfragen nach einem Fehler 429 zu wiederholen und normale Antworten während des Versands nicht zu blockieren.

Bei der Auswahl eines Tarifs sollte man die Spitzenanzahl der Nachrichten pro Minute, die durchschnittliche Bearbeitungszeit der Anfrage, das Volumen der Datenbank und die Anzahl der Hintergrundprozesse bewerten. Nach dem Start ist eine Überwachung von CPU, RAM, Swap, Festplattenoperationen und Antwortzeiten erforderlich. Wenn der Speicher stabil über 75-80% liegt und die Warteschlange schneller wächst als sie bearbeitet wird, sollte die Konfiguration erhöht werden. Für die meisten Bots ist der Übergang von 2 auf 4 oder 6 GB RAM ein einfacher erster Schritt, aber schlechte Datenbankanfragen oder die synchrone Verarbeitung schwerer Operationen verschwinden nicht nach dem Wechsel zu einem teureren Tarif.

Автор

Рівтін Максим

Власник бізнесу, розробник, системний адміністратор.