Сервер, в зависимости от его конфигурации, обычно может обслуживать сотни запросов одновременно - при использовании Apache конфигурация MaxClients
Опция гласит:
Директива MaxClients
устанавливает
ограничение по количеству одновременных
запросы, которые будут обслуживаться.
Любой
попытки соединения через
MaxClients
предел обычно будет
в очереди, до числа, основанного на
Директива ListenBacklog.
Однажды ребенок
процесс освобождается в конце
другой запрос, соединение будет
тогда будь обслужен.
Тот факт, что два клиента запрашивают одну и ту же страницу, не является проблемой.
Итак:
Будут ли запросы поставлены в очередь?
Нет; кроме случаев, если:
- где-то есть блокировка - что может произойти, например, если два запроса поступают от одного и того же клиента и вы используете файловые сессии в PHP : во время выполнения сценария сеанс «заблокирован», что означает, что сервер / клиент должен будет дождаться завершения первого запроса (и файл разблокирован ), чтобы иметь возможность использовать файл для откройте сеанс для второго пользователя.
- запросы поступают от одного и того же клиента и одного и того же браузера; в этом случае большинство браузеров ставят запросы в очередь, даже если на стороне сервера ничего такого не происходит.
- существует более
MaxClients
активных в настоящее время процессов - см. Цитату из руководства Apache прямо перед этим.
Будут ли они игнорироваться?
Нет: это будет означать, что только один пользователь может использовать веб-сайт одновременно; это было бы не очень хорошо, не так ли?
Если бы это было так, я не смог бы опубликовать этот ответ, если вы одновременно нажали F5, чтобы увидеть, ответил ли кто-нибудь!
(ну, это не в PHP, но принципы те же)
Любая другая возможность?
Да ^^
редактировать после того, как вы отредактировали ОП и комментарий:
Будет ли каждый запрос иметь свой собственный скрипт
Экземпляр
Не существует такой вещи, как " экземпляр скрипта ": проще говоря, то, что происходит при выполнении запроса к скрипту:
- веб-сервер разветвляется другой процесс для обработки запроса (часто по соображениям производительности эти разветвления создаются заранее, но это ничего не меняет)
- процесс читает скрипт PHP с диска
- несколько процессов могут сделать это одновременно : нет блокировки чтения файла
- файл загружен в память; в отдельном блоке памяти для каждого процесса
- файл PHP в памяти " скомпилирован " для кодов операций - все еще в памяти
- эти коды операций выполняются - все еще из блока памяти, принадлежащего процессу, отвечающему на ваш запрос
Действительно, у вас может быть два пользователя, отправляющих запрос на один и тот же PHP-скрипт (или на разные PHP-скрипты, которые все содержат один и тот же PHP-файл) ; это определенно не проблема, иначе ни один сайт, над которым я когда-либо работал, не будет работать!