I server di produzione più importanti che funzionano con 4D accettano più di mille connessioni simultanee, e questo numero continua a crescere. Di conseguenza, le prestazioni diventano un obiettivo sempre più importante per i nostri team. Il protocollo QUIC, utilizzato dalla nuova versione dello standard HTTP, è stato costruito appositamente per aumentare la velocità e l’affidabilità. Poiché siamo sempre alla ricerca di tecnologie interessanti, stiamo lavorando per sostituire il nostro protocollo di rete di basso livello con il protocollo QUIC.
Per la versione 20, è possibile passare a questo livello di rete e verificare se le prestazioni migliorano. È ancora in fase di beta test, poiché abbiamo bisogno del vostro feedback prima di utilizzarlo come livello di rete predefinito. Pertanto, sarà possibile utilizzarlo solo sulle versioni beta di 4D.
QUIC, acronimo di Quick UDP Internet Connections, è stato lanciato da Google una decina di anni fa. È stato ufficialmente standardizzato dall’IETF nel maggio 2021 e adottato come protocollo per le connessioni HTTP/3.
Nel corso degli anni, 4D ha utilizzato un paio di livelli di rete diversi. Il primo, che generalmente chiamiamo “Legacy”, utilizzava troppa CPU quando era inattivo. Il livello ServerNet ha risolto questo problema minore e ha introdotto funzionalità come il supporto della modalità di sospensione del computer, ma richiede comunque una connessione costante, che non è l’ideale su reti instabili. Con entrambi questi livelli, abbiamo raggiunto il limite massimo; non c’è molto spazio per i miglioramenti.
A differenza dei livelli precedenti che lavorano su TCP, QUIC utilizza il protocollo UDP per trasportare i suoi pacchetti. Ciò consente un recupero più rapido in caso di perdita di pacchetti, congestione e vari problemi di rete. I nostri test preliminari dimostrano che QUIC mantiene le sue promesse: quando il ping diventa elevato, QUIC riesce a essere più veloce degli altri livelli di rete e, in caso di perdita di pacchetti, il guadagno di velocità è incredibile. Siamo rimasti positivamente sorpresi dalla stabilità complessiva del protocollo e puntiamo a rendere questo livello di rete il più stabile che abbiate mai conosciuto.
Durante il beta test della versione 20, è possibile attivare questo livello tramite la pagina Compatibilità delle Impostazioni della struttura. Non dimenticate che, poiché QUIC funziona su UDP, è necessario che i router e i firewall accettino connessioni UDP. Un secondo punto importante è che sia il server dell’applicazione che il server del database saranno ora in ascolto sulla stessa porta (19813 per impostazione predefinita), grazie al modo in cui QUIC raggruppa tutte le comunicazioni di rete su un unico socket invece di aprire un socket per processo come in precedenza. Inoltre, le comunicazioni di QUIC sono necessariamente criptate con TLS. Non esitate a testarlo sulla vostra infrastruttura. Utilizzeremo il vostro feedback per migliorarlo.
Nel frattempo, se avete domande o commenti, non esitate a farli nei forum di 4D.