1 Novembre 2026

Peppe’s CDN, analisi tecnica e critiche al vetriolo della Iweblab CDN

GeoDNS, TTL di 60 secondi, un nameserver in California e due nodi entrambi in Italia: misure alla mano, la CDN di Iweblab perde nel DNS tutto quello che dovrebbe far guadagnare. Ecco perché, e perché l’Anycast è un’altra cosa.

Peppe's CDN: analisi tecnica della CDN di Iweblab e del suo GeoDNS

Ogni tanto qualcuno decide di costruirsi la propria CDN. In teoria è un’ottima idea: nodi distribuiti, contenuti vicini agli utenti, tempi di risposta più bassi e nessuna dipendenza dai grandi provider. In pratica, una CDN è uno dei progetti infrastrutturali più difficili da fare bene, perché si gioca tutto su pochi millisecondi e basta un anello debole per perderli tutti, e poi qualcuno in più.

È il caso della CDN di Iweblab, la creatura di Peppe. L’idea di partenza è legittima, la realizzazione molto meno: abbiamo misurato, confrontato e scavato nel DNS, e il risultato è che il collo di bottiglia non è la rete, non è il server, è proprio il meccanismo con cui la CDN decide dove mandare i visitatori. Quello che doveva far risparmiare tempo è esattamente il punto in cui il tempo si perde.

Sappiamo bene che a Peppe articoli come questo non fanno piacere, perché mettono in discussione le sue scelte tecnologiche. Ma qui non ci sono opinioni da prendere sulla fiducia: ci sono misure, comandi e numeri che chiunque può rifare in cinque minuti. Ed è giusto così, perché quando una soluzione viene proposta ai clienti come più veloce, la velocità si misura.

Il test: stesso strumento, stessi punti di misura

Abbiamo usato un comune servizio di test HTTP multi-località, che interroga un sito da decine di città e scompone il tempo totale in tre parti:

  • Resolve time: il tempo per risolvere il nome a dominio in un indirizzo IP, cioè la risposta DNS;
  • Connection time: il tempo per aprire la connessione verso il server, che dipende soprattutto dalla distanza di rete;
  • Download time: il tempo in cui il server elabora la richiesta e invia la risposta.

Da una parte managedserver.it, servito da un’unica origine in Italia, senza CDN davanti all’HTML. Dall’altra iweblab.sm, il sito di chi la CDN la vende, che passa ovviamente dalla propria CDN.

Test HTTP multi località di managedserver.it
Il test di managedserver.it: un solo indirizzo IP per tutte le città e risoluzione DNS mai oltre 25 ms.
Test HTTP multi località di iweblab.sm con la CDN di Iweblab
Il test di iweblab.sm del 30 ottobre 2026: due indirizzi IP diversi a seconda della città, segno del GeoDNS, e risoluzioni DNS fino a 155 ms.

Il test di iweblab.sm è del 30 ottobre 2026 alle 08:31 GMT. Vale la pena fermarsi un attimo sulla colonna degli indirizzi IP, perché racconta già metà della storia: alcune città ricevono 95.110.225.107, altre 81.31.156.7. È il segno inequivocabile del GeoDNS: il DNS risponde con un indirizzo diverso a seconda di dove arriva la domanda. Su managedserver.it, invece, tutte le città ricevono lo stesso indirizzo, 80.211.123.191.

I numeri, città per città

Abbiamo messo a confronto le nove città presenti in entrambi i test (MS sta per managedserver.it).

Città Totale MS Totale Iweblab DNS MS DNS Iweblab Connessione MS Connessione Iweblab
Milano 83 ms 81 ms 21 ms 42 ms 7 ms 0 ms
Salisburgo 139 ms 181 ms 21 ms 22 ms 16 ms 22 ms
Lille 199 ms 192 ms 12 ms 25 ms 23 ms 22 ms
Roma 110 ms 202 ms 14 ms 111 ms 10 ms 10 ms
Francoforte 162 ms 234 ms 18 ms 93 ms 15 ms 19 ms
Palermo 205 ms 265 ms 25 ms 24 ms 24 ms 29 ms
Londra 232 ms 266 ms 7 ms 76 ms 30 ms 28 ms
Haarlem 177 ms 303 ms 10 ms 155 ms 22 ms 20 ms
Praga 191 ms 324 ms 22 ms 125 ms 17 ms 19 ms
Media 166 ms 228 ms 17 ms 75 ms 18 ms 19 ms

Tre cose saltano all’occhio.

La prima: il DNS. Su managedserver.it la risoluzione non supera mai i 25 ms, con una media di 17. Sulla CDN di Iweblab la media è 75 ms, cinque città su nove stanno sopra i 75 ms e Haarlem tocca 155 ms. A Haarlem e a Roma la sola risposta DNS vale più della metà dell’intero tempo di caricamento della risposta. Il visitatore non ha ancora scambiato un byte con il server e ha già perso un sesto di secondo.

Risoluzione DNS per città: managedserver.it contro la CDN di Iweblab
Il tempo di risoluzione DNS città per città: 17 ms di media per managedserver.it, 75 ms per la CDN di Iweblab.

La seconda: i tempi di connessione sono identici. 18 ms di media contro 19. Ed è qui che la CDN si smentisce da sola. Se Londra, Haarlem, Lille e Praga, che ricevono l’indirizzo 81.31.156.7, fossero servite da un nodo vicino, la connessione da quelle città dovrebbe durare pochi millisecondi. Invece Londra impiega 28 ms per collegarsi alla “CDN” e 30 ms per collegarsi al nostro server in Lombardia: la distanza di rete è la stessa. Le banche dati di geolocalizzazione collocano infatti entrambi gli indirizzi della CDN in Italia, uno nella rete di Aruba e l’altro in una rete di Host SpA in Piemonte. Due nodi, entrambi in Italia, distanti tra loro poche centinaia di chilometri. Il GeoDNS sceglie quale dei due dare a un utente di Londra, ma l’utente di Londra resta comunque a oltre mille chilometri dal contenuto.

La terza: anche i tempi di download si equivalgono, 132 ms di media per noi e 134 per loro. Non è un confronto perfetto, perché le pagine sono diverse per peso ed elaborazione, ma conferma che la CDN non porta alcun vantaggio misurabile nella consegna del contenuto.

Riassumendo: la differenza di 62 ms tra le due medie totali coincide quasi al millisecondo con la differenza di 58 ms nella risoluzione DNS. Tutto quello che la CDN aggiunge è attesa davanti al DNS. Tutto quello che dovrebbe togliere, la distanza, non lo toglie.

Scomposizione dei tempi medi tra DNS, connessione e download
Connessione e download sono identici: tutta la differenza sta nel DNS.

Dentro il DNS della CDN: perché è così lento

Gli screenshot mostrano il sintomo; per trovare la causa basta un terminale e il comando dig. Il 1° novembre 2026 abbiamo interrogato i server DNS di Iweblab da una connessione in Italia.

Il dominio iweblab.sm è delegato ai nameserver di Cloudflare, che rispondono in 14-25 ms, esattamente come quelli di managedserver.it. Fin qui nessun problema. Il problema arriva un passo dopo: www.iweblab.sm è un CNAME verso edge.iweblab.net, il nome della CDN, e il dominio iweblab.net è gestito da quattro nameserver propri:

Nameserver Dove si trova Tempo di risposta dall’Italia
ns1.iweblab.it Italia, rete Host SpA 21-29 ms
ns2.iweblab.net Germania, Hetzner Falkenstein 36-40 ms
ns4.icloud.sm Finlandia, Hetzner Helsinki 62-65 ms
ns3.iweblab.it California, DigitalOcean 157-168 ms

Sì, avete letto bene: uno dei quattro nameserver di una CDN pensata per l’Europa sta in California. Un resolver che non conosce ancora i tempi di risposta dei quattro server ne sceglie uno più o meno a caso, e una volta su quattro finisce dall’altra parte dell’oceano. Durante le nostre prove, inoltre, una query a ns1 è andata in timeout, costringendo il resolver a ripiegare su un altro server.

A peggiorare le cose c’è il TTL di 60 secondi sui record della CDN. Il TTL è il tempo per cui un resolver può tenere in cache una risposta: con 60 secondi, la risposta scade di continuo e la maggior parte dei visitatori non la trova pronta, quindi paga per intero la catena di risoluzione. Il GeoDNS ha bisogno di TTL brevi per poter spostare il traffico velocemente, ma è una scelta che si paga in ogni singola risoluzione, e qui la si paga con nameserver lenti e lontani.

Catena DNS della CDN di Iweblab con quattro nameserver
La catena DNS della CDN: un CNAME, quattro nameserver di cui uno in California e un TTL di 60 secondi.

Il conto, a questo punto, torna: una catena con un passaggio in più, un TTL che svuota le cache ogni minuto e un nameserver su quattro a più di 150 ms. I 93, 111, 125 e 155 ms misurati a Francoforte, Roma, Praga e Haarlem sono esattamente quello che ci si aspetta da un’architettura del genere.

GeoDNS e Anycast: la differenza che fa la differenza

Per capire perché la scelta del GeoDNS sia il tallone d’Achille di questa CDN, bisogna capire come lavorano le due tecniche con cui una CDN può mandare ogni utente al nodo più vicino.

GeoDNS

Con il GeoDNS ogni nodo ha un indirizzo IP diverso. Quando arriva una richiesta DNS, il nameserver guarda da dove proviene, consulta una banca dati di geolocalizzazione e risponde con l’IP del nodo che ritiene più vicino. Ha tre debolezze strutturali:

  • Il DNS diventa parte del percorso critico: la decisione richiede una risposta DNS su misura, che non può restare a lungo in cache, quindi TTL brevi e più risoluzioni complete.
  • Il nameserver vede il resolver, non l’utente. Chi usa i DNS di Google, Cloudflare o del proprio provider viene localizzato in base al resolver, che può stare in un altro paese. L’estensione EDNS Client Subnet attenua il problema, ma non tutti i resolver la inviano: 1.1.1.1 di Cloudflare, per esempio, per scelta non lo fa.
  • Le banche dati di geolocalizzazione sbagliano, soprattutto sugli indirizzi aziendali, mobili e dei grandi cloud.

Anycast

Con l’Anycast lo stesso indirizzo IP viene annunciato via BGP da tutti i nodi contemporaneamente. Il DNS risponde sempre con lo stesso IP, con TTL lunghi e cache che funzionano, e a portare l’utente al nodo più vicino ci pensa il routing di Internet: i pacchetti seguono il percorso più breve verso l’annuncio più vicino. Nessuna geolocalizzazione da indovinare, nessuna risposta DNS su misura, e in caso di guasto di un nodo basta ritirare l’annuncio perché il traffico si sposti in pochi secondi. È il motivo per cui Cloudflare, Fastly, Google e tutte le CDN di primo livello usano Anycast, sia per i nodi sia per i DNS.

Differenze tra GeoDNS e Anycast
GeoDNS e Anycast a confronto: con il primo decide il DNS, con il secondo decide la rete.

L’Anycast ha però un prezzo d’ingresso: serve un proprio Autonomous System, uno spazio di indirizzi IP proprio (almeno un /24 IPv4 e un /48 IPv6), connettività di transito e peering in ogni località e la capacità di gestire sessioni BGP su più punti di presenza. Ed è qui che arriviamo al punto vero.

Il problema di scala

Una CDN ha senso quando gli utenti sono lontani dall’origine e i nodi sono vicini agli utenti. La CDN di Iweblab ha due nodi, entrambi in Italia, al servizio di siti con un pubblico in larga parte italiano. Per un utente italiano un buon server in Italia è già il nodo più vicino possibile. Per un utente di Londra, due nodi italiani invece di uno non cambiano nulla, come dimostrano i tempi di connessione identici.

Il risultato è una CDN che ha tutti i costi delle CDN, cioè la complessità, la catena DNS, i TTL brevi e la cache distribuita da invalidare, senza il loro unico vero beneficio, la vicinanza. Una CDN a due nodi non è una CDN: è un’origine con un indirizzo in più e un DNS più lento.

Per costruire qualcosa di realmente utile servirebbe la scala: decine di punti di presenza in Europa e nel mondo, Anycast, accordi di peering, un DNS globale. È un investimento che ha senso per chi serve traffico enorme e distribuito, e non a caso il mercato delle CDN è dominato da pochi operatori con reti gigantesche. Per tutti gli altri esistono strade più efficaci e più economiche: un’origine ottimizzata in Italia con una buona cache HTML, che è quello che facciamo noi, oppure una CDN Anycast vera davanti all’origine quando il pubblico è davvero internazionale.

Cosa avremmo fatto noi

Visto che criticare è facile, ecco cosa cambieremmo, in ordine di costo:

  1. Togliere il nameserver in California, o almeno portare i quattro nameserver in Europa: è l’intervento più semplice e da solo elimina i picchi peggiori.
  2. Affidare la zona della CDN a un DNS Anycast: Iweblab usa già Cloudflare per iweblab.sm, quindi sa benissimo come si fa.
  3. Alzare il TTL a qualche minuto: con due nodi entrambi in Italia, la flessibilità di 60 secondi non vale il prezzo pagato su ogni risoluzione.
  4. Chiedersi se la CDN serva davvero. Con due nodi italiani e un pubblico italiano, la risposta onesta è no: meglio un’origine sola, ben ottimizzata, con una cache HTML ad alto hit ratio.

Buone intenzioni, cattive misure

La strada dell’inferno, si sa, è lastricata di buone intenzioni. Costruirsi una CDN è una sfida tecnica affascinante, e sia chiaro: presentata all’esame di Reti all’università, con GeoDNS, nodi multipli e nameserver ridondati su quattro provider, la CDN di Peppe avrebbe probabilmente preso trenta e lode.

Ma il mercato, quello vero, non dà voti sul progetto: misura i millisecondi. E i millisecondi dicono che un utente di Haarlem aspetta 155 ms solo per sapere a quale server rivolgersi, per poi collegarsi comunque in Italia. Noi, con un solo server e nessuna CDN davanti all’HTML, in quel test non superiamo mai i 25 ms di risoluzione DNS.

I comandi sono pubblici, gli strumenti di test sono gratuiti e i risultati sono riproducibili da chiunque. Se qualcuno ha misure diverse, le pubblichi: saremo i primi a leggerle con attenzione.

Se invece volete capire dove si perdono davvero i millisecondi del vostro sito, tra DNS, rete, server e cache, parliamone: è il nostro lavoro di tutti i giorni. Per approfondire, abbiamo scritto anche di perché il routing Anycast è la base di ogni CDN e di perché, in una cache, conta l’hit ratio.

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

DISCLAIMER, Note Legali e Copyright. Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt; Oracle Corporation detiene i diritti su Oracle®, MySQL®, MyRocks®, VirtualBox® e ZFS®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; PostgreSQL® è un marchio registrato di PostgreSQL Global Development Group; SQLite® è un marchio registrato di Hipp, Wyrick & Company, Inc.; KeyDB® è un marchio registrato di EQ Alpha Technology Ltd.; Typesense® è un marchio registrato di Typesense Inc.; REDIS® è un marchio registrato di Redis Labs Ltd; F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB; HAProxy® è un marchio registrato di HAProxy Technologies LLC; Traefik® è un marchio registrato di Traefik Labs; Envoy® è un marchio registrato di CNCF; Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; Shopware® è un marchio registrato di shopware AG; OpenCart® è un marchio registrato di OpenCart Limited; Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®; Shopify® è un marchio registrato di Shopify Inc.; BigCommerce® è un marchio registrato di BigCommerce Pty. Ltd.; TYPO3® è un marchio registrato di TYPO3 Association; Ghost® è un marchio registrato di Ghost Foundation; Amazon Web Services, Inc. detiene i diritti su AWS® e Amazon SES®; Google LLC detiene i diritti su Google Cloud™, Chrome™, e Google Kubernetes Engine™; Alibaba Cloud® è un marchio registrato di Alibaba Group Holding Limited; DigitalOcean® è un marchio registrato di DigitalOcean, LLC; Linode® è un marchio registrato di Linode, LLC; Vultr® è un marchio registrato di The Constant Company, LLC; Akamai® è un marchio registrato di Akamai Technologies, Inc.; Fastly® è un marchio registrato di Fastly, Inc.; Let’s Encrypt® è un marchio registrato di Internet Security Research Group; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, Windows®, Office®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®; Apache® è un marchio registrato di The Apache Software Foundation; Apache Tomcat® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group; Docker® è un marchio registrato di Docker, Inc.; Kubernetes® è un marchio registrato di The Linux Foundation; OpenShift® è un marchio registrato di Red Hat, Inc.; Podman® è un marchio registrato di Red Hat, Inc.; Proxmox® è un marchio registrato di Proxmox Server Solutions GmbH; VMware® è un marchio registrato di Broadcom Inc.; CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V.; Grafana® è un marchio registrato di Grafana Labs; Prometheus® è un marchio registrato di The Linux Foundation; Zabbix® è un marchio registrato di Zabbix LLC; Datadog® è un marchio registrato di Datadog, Inc.; Ceph® è un marchio registrato di Red Hat, Inc.; MinIO® è un marchio registrato di MinIO, Inc.; Mailgun® è un marchio registrato di Mailgun Technologies, Inc.; SendGrid® è un marchio registrato di Twilio Inc.; Postmark® è un marchio registrato di ActiveCampaign, LLC; cPanel®, L.L.C. detiene i diritti su cPanel®; Plesk® è un marchio registrato di Plesk International GmbH; Hetzner® è un marchio registrato di Hetzner Online GmbH; OVHcloud® è un marchio registrato di OVH Groupe SAS; Contabo® è un marchio registrato di Contabo GmbH; IONOS® è un marchio registrato di IONOS SE; International Business Machines Corporation detiene i diritti su IBM® e IBM Cloud®; Terraform® è un marchio registrato di HashiCorp, Inc.; Ansible® è un marchio registrato di Red Hat, Inc.; cURL® è un marchio registrato di Daniel Stenberg; Facebook®, Inc. detiene i diritti su Facebook®, Messenger® e Instagram®. Questo sito non è affiliato, sponsorizzato o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello europeo da MANAGED SERVER SRL, con sede legale in Via Flavio Gioia, 6, 62012 Civitanova Marche (MC), Italia e sede operativa in Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italia.

SOLO UN ATTIMO !

Ti sei mai chiesto se il tuo Hosting faccia schifo ?

Scopri subito se il tuo hosting provider ti sta danneggiando con un sito lento degno del 1990 ! Risultato immediato.

Close the CTA
Torna in alto