Prestazioni e ottimizzazioni


Ridurre l'impatto sugli altri tenant

Un'operazione corretta sul singolo ambiente può essere sbagliata se ricarica un servizio condiviso senza necessità. Questo principio è emerso con chiarezza nel restore: un reload del master PHP-FPM, apparentemente semplice, ha prodotto una risposta 503 su un altro tenant nello scenario di test.

Il workflow è stato modificato per lasciare invariati master, pool e socket e terminare soltanto i processi preesistenti dell'ambiente interessato. Il test di regressione ha verificato il comportamento sullo scenario osservato.

La stessa garanzia non viene attribuita agli altri workflow soltanto perché condividono parte del codice. Creazione, sospensione, riattivazione, cambio PHP e aggiornamento del pool mantengono operazioni globali dove il progetto non ha ancora introdotto un'alternativa tenant-safe.

Durabilità nel punto giusto

Sincronizzare ogni file sembrava prudente, ma non rendeva completo un restore interrotto a metà. Fliclic ha scelto di ricostruire e verificare l'albero mentre resta isolato, poi richiedere una barriera di persistenza sul filesystem prima della riapertura.

La barriera finale non crea una transazione distribuita e può coinvolgere I/O di altri servizi sullo stesso filesystem. Rappresenta però il punto logico corretto: il contenuto viene reso disponibile soltanto dopo che dati e metadata sono stati verificati e sincronizzati secondo le garanzie del sistema operativo e dello storage.

Distinguere implementato, verificato e futuro

Nel progetto, quattro etichette concettuali devono rimanere separate:

  • implementato: presente nel codice corrente;
  • verificato runtime: provato in uno scenario documentato;
  • decisione: comportamento approvato da preservare;
  • proposta futura: direzione non ancora disponibile.

Un helper presente nel codice non prova il deployment identico su ogni nodo. Un test su due ambienti non diventa garanzia universale. Una proposta di updater non è un updater installato. Questa precisione evita che il sito trasformi aspirazioni legittime in promesse tecniche false.

Scelte scartate

Alcune alternative sono state escluse perché introducevano più rischio o complessità:

  • usare lo stato corrente dei database al posto delle credenziali storiche del backup;
  • riscrivere WordPress durante ogni restore;
  • lasciare file o database successivi durante un ripristino “conservativo”;
  • creare nuove righe database per adattarsi alla fotografia;
  • ricaricare PHP-FPM condiviso per isolare un solo tenant;
  • sincronizzare ogni file pubblico come se fosse un commit autonomo;
  • usare staging completo della directory pubblica con doppio consumo di spazio;
  • introdurre retry automatici di operazioni distruttive senza diagnosi.

Conservare le ragioni di queste scelte impedisce di riproporle quando il problema riappare sotto un nome diverso.

Questo sito utilizza Cookies
Sul sito ci sono cookies tecnici e di terze parti per i quali abbiamo bisogno di un tuo consenso all'installazione. Leggi la nostra Cookie policy
Nome cookie
Dominio
Descrizione
Durata
Tipo
Nome cookie: PHPSESSID
Dominio: https://www.fliclic.com
Descrizione: This cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user session on the website. The cookie is a session cookies and is deleted when all the browser windows are closed.
Durata: session
Tipo: Necessary
Nome cookie: _ga_*
Dominio: .fliclic.com
Descrizione: Google Analytics sets this cookie to store and count page views.
Durata: 1 year 1 month 4 days
Tipo: Analytics
Nome cookie: _ga
Dominio: .fliclic.com
Descrizione: The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
Durata: 1 year 1 month 4 days
Tipo: Analytics