do file_get_contents («php: // input»); метод влияет на масштабируемость?

1

Когда несколько пользователей получают доступ к странице в php, у которой есть file_get_contents ("php://input"); метод будет какой-либо блокировки? Я понимаю, что каждый запрос создает новый экземпляр, делает ли вышеуказанный метод какой-либо блокировкой сделанных запросов? Использует ли он только один поток для всех экземпляров или другого потока для разных запросов? Я новичок в php, поэтому, пожалуйста, помогите мне в этом...

Теги:

1 ответ

0
Лучший ответ

php://input символичен для входного потока, предоставляемого клиентом HTTP. У нескольких клиентов разные входные потоки, поэтому разные клиенты по-прежнему могут обрабатываться асинхронно. Тем не менее, запросы могут блокироваться в этом потоке, когда клиент не обеспечивает данные достаточно быстро. Эта проблема существует независимо от того, есть ли один клиент или сто.

  • 0
    Этот поток будет блокироваться только при медленной передаче данных с клиента? @Ulrich
  • 0
    Вероятно, да. Я не уверен на 100%, как буферизация обрабатывается в этом случае, и это также может зависеть от обстоятельств (какой веб-сервер, как этот сервер настроен). Предполагая, что PHP не ожидает полного ввода данных заранее, что является разумным улучшением, чтение ввода может блокировать. Это только заблокирует этот один запрос, но не другие запросы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню