Вопрос возник в контексте ownCloud/nginx, проблема описана здесь: https://github.com/owncloud/core/issues/21570
Кратко, суть в следующем. Максимальный размер загружаемого в хранилище (через web-интерфейс?) файла задается, кроме прочего, переменной client_max_body_size, которую приходится выставлять в размер максимального ожидаемого к загрузке файла. При загрузке все поступающие с клиента данные сначала полностью сохраняются во временный файл по пути client_body_temp_path и только потом передаются в обработчик загрузки на PHP через fastcgi_pass, где копируются во временный файл по пути php.ini/upload_tmp_dir, откуда уже переносятся на место постоянного хранения. Если файл большой, в память не влезает, это увеличивает требования к свободному месту на сервере, нужно как минимум двойное пространство от размера загружаемых данных, нагружает дисковое i/o при копировании. Можно ли это оптимизировать? Есть подозрение, что сама загрузка в ownCloud реализована не лучшим образом, но вдруг есть возможность настройки на стороне nginx? Например, чтобы необязательно было предварительно все клиентские данные складывать в client_body_temp_path, но сразу порциями по client_body_buffer_size из памяти отдавать обработчику на PHP, который сам сложит все на диск, как ему удобно, а client_max_body_size в таком сценарии только ограничивает максимальный размер клиентского запроса, но не имеет отношения к записи и размеру временного файла по client_body_temp_path.