VPS per il bot di Telegram: quale piano è necessario e da cosa dipende il carico

VPS per il bot di Telegram: quale piano è necessario e da cosa dipende il carico

Per un bot Telegram, è consigliabile scegliere VPS/VDS non in base al numero di iscritti, ma a ciò che accade dopo ogni messaggio. Un bot con 20.000 utenti può quasi non sovraccaricare il server, se mostra solo risposte predefinite. Allo stesso tempo, un piccolo negozio con alcune centinaia di clienti attivi può andare in crisi con il processore, la memoria o il database durante promozioni e invii di massa.

Non esiste una «tariffa universale per bot». Le risorse sono influenzate dal linguaggio di programmazione e dal framework, dal modo in cui vengono ricevuti gli aggiornamenti, dal numero di richieste simultanee, dal lavoro con i file, dalle integrazioni esterne e dai task in background. È necessaria anche una riserva: un server che in un giorno normale utilizza quasi tutta la memoria RAM non è pronto per un carico di picco.

Da bot informativo a servizio con intelligenza artificiale

Una tariffa di partenza pratica può essere valutata in base allo scenario di lavoro:

  1. Bot informativo semplice. Menu, comandi, risposte a domande frequenti, invio di link o file non richiedono una grande configurazione. Per un processo di bot, server web e un piccolo database SQLite di solito bastano 1–2 vCPU, 2 GB di RAM e 20-35 GB di spazio su disco. Questo è sufficiente per codice, log e pacchetti di sistema.

  2. Negozio Telegram. Qui appaiono catalogo, carrello, ordini, pagamenti, giacenze, fotografie dei prodotti e sincronizzazione con CRM o sito web. Il carico non è creato dal pulsante «Acquista», ma dalla catena di operazioni dopo il clic. Un minimo ragionevole sarebbe 2-3 vCPU, 4 GB di RAM e un disco NVMe veloce. Per un grande catalogo e un'importazione regolare di prodotti, è meglio prevedere 6 GB di RAM.

  3. Bot di assistenza clienti. Ha bisogno di una cronologia dei dialoghi, distribuzione delle richieste tra gli operatori, allegati, notifiche e integrazione con un sistema di helpdesk. Con un flusso ridotto, 4 GB di RAM sono sufficienti, ma il lavoro parallelo di un pannello web, PostgreSQL, Redis e alcuni gestori aumenta rapidamente il consumo di memoria. Per un servizio attivo 24 ore su 24, sono appropriati 3-4 vCPU e 4-6 GB di RAM.

  4. Bot con database o IA. Se memorizza profili, cronologia delle conversazioni, risultati di ricerca e analisi, i fattori principali diventano la velocità del disco, l'ottimizzazione delle query e la memorizzazione nella cache. Per lavorare con un'API esterna di modelli linguistici, una scheda grafica su VPS non è necessaria: il server prepara la richiesta, memorizza il contesto e restituisce la risposta. Si può partire con 4-6 GB di RAM. L'esecuzione locale di modelli richiede spesso un server GPU, una memoria significativamente maggiore e calcoli separati.

Leggi anche: OpenVZ, Xen e KVM — confrontiamo le tecnologie di virtualizzazione più popolari

Nella gamma VPS-UP, la configurazione KVM-35 ha 2 vCPU, 2 GB di RAM e 35 GB NVMe, KVM-75 — 3 vCPU e 4 GB di RAM, mentre KVM-100 — 4 vCPU e 6 GB di RAM. La prima tariffa è adatta per un bot semplice, la seconda — per un negozio o supporto di media grandezza, la terza — per un progetto con database, cache, code e più flussi di lavoro.

Se il bot gestisce migliaia di richieste simultanee, lavora con un grande database, esegue modelli di IA locali o svolge operazioni intensive sui file, le capacità del VPS potrebbero non essere sufficienti nel tempo. In tal caso, è consigliabile considerare un server dedicato, dove processore, memoria e dischi non sono condivisi tra più clienti. Questo offre prestazioni più stabili sotto carico prolungato e consente di scegliere più precisamente la configurazione, inclusi server con grande quantità di RAM, più dischi NVMe o acceleratori grafici.

Perché il numero di utenti non riflette il carico reale

Telegram consente di ricevere aggiornamenti in due modi mutuamente esclusivi: tramite long polling con il metodo getUpdates o tramite webhook. Gli aggiornamenti non prelevati dal bot vengono conservati da Telegram per non più di 24 ore. Per i webhook, è possibile impostare da 1 a 100 connessioni HTTPS simultanee: valori più alti aumentano la larghezza di banda, ma creano una maggiore pressione parallela sull'applicazione.

Il long polling funziona bene in piccoli progetti e durante lo sviluppo. Per negozi, supporto o servizi con flussi di richieste irregolari, i webhook sono generalmente più comodi. Tuttavia, non eliminano i picchi. Se dopo un messaggio vengono avviate richieste al database, generazione di documenti, verifica dei pagamenti e chiamate a API esterne, queste operazioni dovrebbero essere messe in coda, piuttosto che eseguite in un unico processo.

Le capacità del server non devono essere confuse con i limiti di Telegram. Le raccomandazioni ufficiali consigliano di non inviare più di un messaggio al secondo in una chat, per i gruppi c'è un limite di circa 20 messaggi al minuto, e l'invio di massa gratuito è limitato a circa 30 messaggi al secondo. Gli invii a pagamento possono aumentare il limite fino a 1000 messaggi al secondo, ma sono disponibili solo a determinate condizioni. 

Leggi anche: Server virtuali nello sviluppo: come semplificare la vita ai programmatori

Un VPS più potente non supererà questi limiti, ma aiuterà a formare una coda, ripetere richieste dopo un errore 429 e non bloccare le risposte normali durante l'invio di massa.

Quando si sceglie una tariffa, è importante valutare il numero massimo di messaggi al minuto, il tempo medio di elaborazione delle richieste, il volume del database e il numero di processi in background. Dopo il lancio, è necessario monitorare CPU, RAM, swap, operazioni su disco e tempi di risposta. Se la memoria rimane stabilmente sopra il 75-80%, e la coda cresce più velocemente di quanto venga elaborata, la configurazione deve essere aumentata. Per la maggior parte dei bot, passare da 2 a 4 o 6 GB di RAM è un semplice primo passo, ma le cattive query al database o l'elaborazione sincrona di operazioni pesanti non scompariranno passando a una tariffa più costosa.

Автор

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

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