Задать вопрос
alexandrknyazev13071995
@alexandrknyazev13071995

Как работают серверные скрипты при подключении нескольких пользователей?

Расскажите вкратце, что из себя представляет работа сервера, когда к одному, например, php-скрипту, обращается несколько пользователей. Или скиньте какие-нибудь статьи об этом. Заранее благодарен.
  • Вопрос задан
  • 744 просмотра
Подписаться 2 Оценить 1 комментарий
Решения вопроса 2
OrlovEvgenii
@OrlovEvgenii
golang developer / DevOps
Скрипты выполняют написанный в них код, собственно это все, что делают скрипты.
Команду на исполнение скриптов дает веб-сервер, непосредственно интерпретатору для php это (в виде программы CGI или серверного модуля) который запускает в поток исполнение скрипта. Если в этот самый момент к веб-серверу обращаются еще N количество пользователей, то веб-сервер в свою очередь дает команду интерпретатору запустить скрипт в отдельных потоках для каждого N количества обращений.
Ответ написан
soshnikov
@soshnikov
У вас пользователь обращается не к скрипту, а к серверу.
Вероятно, можно и на PHP написать какой-то сервер, но, думаю, речь идет о реально использующихся технологиях.
Так вот запрос от пользователя приходит к веб-серверу. Например к апачу. В зависимости от вариантов настройки, апач может в отдельном потоке запустить PHP, передать ему параметры запроса, получить от него ответ и отдать его пользователю.
А может сразу запустить насколько копий PHP, чтобы не тратить каждый раз время на инициализацию. Пришел запрос - отдали его свободному экземпляру.
Ну и, что касается PHP, он часто встраивается в процесс апача как фильтр. Т.е. запускаем не PHP, а экземпляр апача, который через себя пропускает код PHP и отдает сраницу.
Можем заранее наплодить несколько экземпляров - будет быстрее реакция, но жрем ресурсы. А можем запускать копии, если нет свободных.
А если совсем все съели - ждем, пока кто-то освободится.
А если клиент не дождался - грусть и печаль для манагеров и сеошников.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы