Ciao a tutti i beta tester di SEOZoom,

come avrete notato, negli ultimi 30 giorni SEOZoom ha subito un enorme calo di prestazioni, per aprire una pagina, a volte, sono necessari svariati secondi, soprattutto se si analizzano i dati di siti web molto famosi e quindi con numerose parole chiave posizionate da analizzare.

Questo rallentamento potrebbe sembrare sintomo che qualcosa stia andando storto, potrebbe far pensare che tutta l’infrastruttura ci stia crollando sotto i piedi ma non è assolutamente così, voglio parlarvene perchè invece sono estremamente entusiasta di questo “piccolo problema” e vi spiego perchè.

Quando abbiamo iniziato a sviluppare SEOZoom avevamo tre o quattro perplessità che vi spiego dopo, molti SE, tanti MA però abbiamo messo da parte le paure ed il timore reverenziale verso realtà già avviate come Moz (non dimenticate che è nata grazie ad un finanziamento di circa 7 milioni di dollari molti anni fa), SearchMetrics, SemRush, Raven ed altri e ci siamo buttati a capofitto nella più grande avventura di programmazione che abbia mai affrontato, un’infinità di problematiche correlate, dalla gestione della rete, banda, database, multithreading avanzato e chi più ne ha più ne metta.

Le nostre domande, che un po’ ci frenavano, erano le seguenti:

  • Riusciremo ad analizzare milioni di keyword in tempi ragionevoli (pochi giorni) tanto da poter avere un indice fresco?
  • Riusciremo a gestire una mole di dati che cresce alla velocità della luce?
  • Riusciremo a competere con i mostri sacri del nostro settore?
  • Riusciremo a farlo con uno staff di sole 2 persone per il motore/motori, 1 web developer ed 1 grafico?

Bene, la risposta alle quattro domande è stata la stessa, fidiamoci di noi stessi e lavoriamo giorno e notte e ci riusciremo!

Ormai è quasi un anno che stiamo lavorando incessantemente, un tempo relativamente breve per un progetto del genere ed uno staff così ridotto e che nel frattempo svolge anche il proprio regolare lavoro di SEO, Imprenditore, Programmatore e Grafico.

Dopo quasi un anno abbiamo affrontato le 4 perplessità sul campo e ad alcune domande abbiamo dato già una risposta certa:

  • Possiamo competere con i mostri sacri del settore perchè in un anno abbiamo fatto quello che pensavamo fosse impossibile. Possiamo competere sicuramente dal punto di vista tecnico, dal lato commerciale non saprei, avremo bisogno di aiuto sicuramente.
  • Possiamo tranquillamente gestire SEOZoom con lo staff consolidato di SEOCube

Le altre perplessità, quelle sulla velocità di analisi delle parole chiave e sulla mole di dati sono il grande problema del momento ma c’è un ma, quello che volevo spiegarvi 🙂

Fino a circa un mese fa SEOZoom era in grado di elaborare circa 40.000 parole chiave al giorno, facendo due conti, per elaborare i 3.000.0000 di parole chiave attuali aveva bisogno di circa due mesi e mezzo. Questo vuol dire che ogni singola parola chiave veniva analizzata ogni 75 giorni, un tempo del tutto irragionevole perchè in caso di crollo organico di un sito web ce ne saremmo accorti troppo tardi e non avremmo offerto un servizio decente al cliente.

Missione prioritaria era quindi incrementare notevolmente il  numero di keyword giornaliere.

Senza entrare troppo nei dettagli tecnici vengo subito al dunque, da 40.000 keyword al giorno (a stento quelle degli ipotetici clienti) siamo riusciti ad arrivare a circa 850.000 al giorno macon la consapevolezza di poterne fare praticamente un numero infinito aggiungendo risorse hardware e nuovi server al cluster. Con questo risultato possiamo analizzare ogni singola keyword anche più volte a settimana.
Searchmetrics ad esempio scansiona le parole chiave una volta a settimana quindi direi che abbiamo raggiunto un risultato SUPER!

Ed ecco che arriviamo al dunque: Come mai la parte web allora va così lenta?

La risposta è semplice, il database era tarato per sopportare un carico di 50.000 keyword al giorno con circa 250 insert nel database x ogni singola keyword, in totale circa 12 milioni e mezzo di operazioni al giorno solo per questa funzionalità. Ad oggi invece il database sta rispondendo (anche abbastanza bene) a circa 212 milioni e mezzo di righe inserite al giorno. Diciamo che siamo andati leggemente oltre le nostre aspettative e questo non può che farmi piacere perchè stiamo realizzando letteralmente un mostro di motore ma sfortunatamente dovrete pazientare un pochino per quanto riguarda l’aspetto performance, dobbiamo assolutamente cambiare l’infrastruttura sia di rete che di disco, banda ed utilizzare server cluster ognuno con almeno 192gb ram, un’altra bella spesetta da affrontare ma ci crediamo veramente tanto 🙂

E’ la prima volta che parlo di aspetti tecnici sul mio blog ma era doveroso informare tutti gli utenti sul fatto che andiamo alla grandissima anche se magari da fuori sembrava esattamente il contrario 🙂 un po di pazienza, il bimbo sta crescendo troppo in fretta.

Si accetta qualsiasi suggerimento, il progetto presenta mille insidie ed ogni giorno perdiamo ore a risolvere strani misteri che magari per molti esperti sono il pane quotidiano 🙂