Il server, a seconda della sua configurazione, può generalmente servire centinaia di richieste allo stesso tempo - se si utilizza Apache, l' MaxClients
opzione di configurazione è quella che dice:
La MaxClients
direttiva stabilisce il limite al numero di richieste simultanee che verranno servite.
Qualsiasi tentativo di connessione oltre il
MaxClients
limite verrà normalmente accodato, fino a un numero basato sulla direttiva ListenBacklog.
Una volta che un processo figlio viene liberato alla fine di una richiesta diversa, la connessione verrà quindi servita.
Il fatto che due client richiedano la stessa pagina non è un problema.
Così :
Le richieste verranno messe in coda?
No ; tranne che :
- c'è qualche blocco da qualche parte - che può accadere, ad esempio, se le due richieste provengono dallo stesso client, e stai usando sessioni basate su file in PHP : mentre uno script è in esecuzione, la sessione è "bloccata", il che significa che il server / client dovrà attendere il termine della prima richiesta (e il file sbloccato ) per poter utilizzare il file per aprire la sessione per il secondo utente.
- le richieste provengono dallo stesso client E dallo stesso browser; la maggior parte dei browser accoderà le richieste in questo caso, anche quando non c'è nulla lato server che produce questo comportamento.
- ci sono più dei
MaxClients
processi attualmente attivi - vedere la citazione dal manuale di Apache poco prima.
Verranno ignorati?
No: ciò significherebbe che un solo utente può utilizzare un sito web contemporaneamente; questo non sarebbe molto carino, vero?
Se fosse così, non potrei postare questa risposta, se tu dovevi premendo F5 nello stesso momento per vedere se qualcuno ha risposto!
(Beh, SO non è in PHP, ma i principi sono gli stessi)
Qualche altra possibilità?
Sì ^^
modifica dopo aver modificato l'OP e il commento:
Ogni richiesta avrà la propria istanza di script?
Non esiste " istanza di script ": in parole povere, ciò che accade quando viene effettuata una richiesta a uno script è:
- il server web esegue un fork di un altro processo per gestire la richiesta (spesso, per motivi di prestazioni, quei fork vengono effettuati in anticipo, ma questo non cambia nulla)
- il processo legge lo script PHP dal disco
- più processi possono farlo contemporaneamente : non c'è alcun blocco sulla lettura del file
- il file viene caricato in memoria; in un blocco di memoria distinto per ogni processo
- il file PHP in memoria è " compilato " in opcode - ancora in memoria
- questi codici operativi vengono eseguiti - sempre dal blocco di memoria che appartiene al processo che risponde alla tua richiesta
In realtà, puoi avere due utenti che inviano una richiesta allo stesso script PHP (o a script PHP distinti che includono tutti lo stesso file PHP) ; questo non è sicuramente un problema, o nessuno dei siti web su cui ho mai lavorato funzionerebbe!