Risultati della capacità di hosting

Questa pagina registra la prova della capacità misurata WebBlocks CMS. Leggilo con Convalida della capacità di hosting: una qualificazione parziale supporta solo il carico di lavoro effettivamente eseguito.

2026-08-26 qualificazione della memoria locale

Stato: candidato alla memoria PHP core provvisorio e profilo lavoratore multimediale da 24 megapixel. Questa non è ancora la qualifica di produzione MySQL completa perché l'esecuzione principale ha utilizzato l'ambiente di test delle funzionalità SQLite del pacchetto e le operazioni e i profili di traffico non sono stati eseguiti.

Ambiente

Articolo

Valore

Identificativo di qualificazione

2026-08-26-local-v1

Origine CMS

WebBlocks CMS v1.73.1, commit 464d20872a64c304ec4e440a6eb6f112fc9534ef

PHP

8.4.2 CLI, NTS

Cablaggio di prova della struttura

Laravel 13 ambiente di test del pacchetto tramite PHPUnit 12.5.31

Sistema operativo

Darwin 25.5.0, x86_64

Database per l'esecuzione principale

SQLite :memory:

GD

Abilitato per JPEG, PNG e WebP

Limite di memoria iniziale PHP

1 GiB; vincolato per processo figlio per la matrice

I risultati riepilogativi e le somme di controllo dei dati di prova riportati di seguito sono stati registrati, ma i log originali dei comandi e i file di campionamento dei processi non sono stati conservati come artefatto immutabile di qualificazione. Questa lacuna nelle prove è un ulteriore motivo per mantenere l’esecuzione provvisoria e non considerarla un minimo certificato per la produzione. Una nuova esecuzione di certificazione deve conservare questi file originali fuori dal pacchetto pubblico e registrarne qui la posizione stabile.

Risultato della suite di funzionalità principali

La suite completa di funzionalità è stata eseguita in un processo PHP: 567 test e 3.076 asserzioni. Questo è deliberatamente più cumulativo di una normale richiesta HTTP isolata, ma non sostituisce il dispositivo MySQL/HTTP di produzione.

PHP memory_limit

Risultato

Riportato PHP Picco

Eprove

96 MiB

Fallito

Limite esaurito

Non riuscito durante SiteCustomHeadApiTest dopo 453 test completati

112 MiB

Pass, una corsa

101 MiB

Nessun margine di sicurezza del 20%

128 MiB

Pass, cinque corse su cinque

101 MiB ciascuno

Durata peggiore 39.505 secondi; quattro corse successive sono state di 33,146–33,267 secondi

Secondo la regola di utilizzo dell'80% del protocollo, 101 MiB richiedono 126,25 MiB. Pertanto 128 MiB è l'attuale core provvisorio PHP memory_limit candidato. Diventa un minimo certificato di produzione solo dopo il corrispondente passaggio del consumer Laravel, MySQL 8.0, HTTP reale, installazione e contenuto rappresentativo.

Risultato della trasformazione dei media

Il percorso MediaTransformService::regenerate() reale ha generato tutte e sette le varianti di sistema dallo stoccaggio a trasformazione fredda. Ciascuna sorgente era 6.000 × 4.000 pixel (24 MP). Le piccole dimensioni dei byte compressi non indeboliscono il test della memoria di decodifica: le dimensioni dei pixel decodificati guidano l'allocazione GD dominante.

Formato

Byte di fissaggio

PHP picco riportato

Opicco di processo osservato RSS

JPEG

657,408

32.5 MiB

180.30 MiB

PNG

80,838

32.5 MiB

253.24 MiB

WebP

103,394

32.5 MiB

312,26 MiB peggiore delle cinque corse misurate

I cinque picchi del processo WebP erano 296,80, 310,20, 301,77, 312,26 e 300,96 MiB. Tutte e sette le varianti sono state generate in ogni esecuzione; il tempo di trasformazione misurato era di 2,717–3,149 secondi. Applicando il margine del 20% al caso peggiore di 312,26 MiB si ottengono 390,33 MiB. Il profilo pratico testato è quindi:

  • PHP memory_limit: almeno il candidato core provvisorio da 128 MiB; e
  • capacità di memoria effettiva: 512 MiB per lavoratore PHP attivo contemporaneamente che può eseguire una trasformazione GD da 24 MP.

La capacità del lavoratore non è la stessa di memory_limit. Le allocazioni native di GD erano visibili nel processo RSS ma non nel picco di 32,5 MiB di PHP e non sono state fermate da memory_limit=128M. La RAM totale del server deve inoltre coprire il sistema operativo, il server Web, MySQL, le cache e altri lavoratori PHP simultanei.

Checksum fissaggio:

File

SHA-256

reference-6000x4000.jpg

a9fbf43349cc525164efb256aabde15c3f7fe86c4679400f5f982b4977696d83

reference-6000x4000.png

6e1876a3b91f63d1565822b448c9fbfc07e1e38bc21eb20c7c8d595fb68917e8

reference-6000x4000.webp

e3c8b2bbd4dfee01d64ca2380106ab18dc98acd82ee1eee9b5bb7ae1a269de3f

Limite del prodotto scoperto dalla misurazione

Il CMS limita un file multimediale caricato a 50 MiB ma attualmente non limita le dimensioni dei pixel raster. La dimensione del file compresso non fornisce un limite superiore finito sulla memoria GD decodificata. Di conseguenza:

  • il profilo Media Worker da 512 MiB è qualificato per il dispositivo documentato da 24 MP, non per tutti i file inferiori a 50 MiB;
  • non è possibile certificare un massimo di memoria multimediale a contratto completo finito mentre le dimensioni raster sono illimitate; e
  • Affinché il profilo multimediale possa diventare un minimo universale, è necessario un criterio relativo al numero massimo di pixel o alla larghezza/altezza di proprietà del prodotto.

Fino a quando non esiste tale protezione, la documentazione dell'hosting deve indicare il carico di lavoro del supporto supportato accanto al valore della memoria. Gli operatori che accettano immagini più grandi necessitano proporzionalmente di più memoria di lavoro o di una politica di elaborazione delle immagini esterna.

Lavoro di qualificazione rimanente

Prima di sostituire “provvisorio” con “certificato”, eseguire e conservare:

  • applicazioni Laravel 12 e 13 simili alla produzione su MySQL 8.0 attraverso il percorso reale HTTPS/FPM;
  • l'apparecchiatura del contenuto di riferimento principale con versione descritta dal protocollo di convalida;
  • profili di installazione, backup, ripristino, trasferimento del sito e aggiornamento nativo del pacchetto;
  • misurazioni della bassa marea del disco e misurazioni del timeout;
  • test di traffico con concorrenza dichiarata del lavoratore; e
  • una riesecuzione multimediale dopo l'implementazione di un contratto di dimensione raster massima.

Il Elenco di controllo della preparazione dell'hosting dovrebbe fare riferimento all'esatto profilo dei risultati selezionato per una distribuzione.