Я часами гуглял, а также искал сайт Apache, и я не могу найти никакой документации о том, как Apache обрабатывает загрузку файлов - особенно больших. Я прочитал анекдотический отчет , что PHP не участвует, пока загрузка не будет завершена, что я и ожидал. Но что касается того, что делает Apache во время загрузки, я ничего не могу найти.
Причина, по которой мне не терпится документирование, заключается в том, что Apache хранит закачки полностью в памяти, а не передает их на диск. httpd
будет использовать каждый байт доступной памяти на сервере, который я использую, пока не произойдет сбой. Как правило, объем потребляемой физической памяти в 3 раза превышает размер загружаемого файла и увеличивается примерно до 5 МБ / с (что далеко от скорости загрузки).
Я протестировал этот же запрос на другом стеке LAMP, который я использую, и использование памяти Apache совершенно не меняется в течение загрузки.
Может кто-нибудь объяснить мне, как Apache может так по-разному обрабатывать одну и ту же загрузку на двух разных серверах? Любая мысль с благодарностью.