Главная
» Как сделать
»
Если скорость загрузки в ownCloud падает до 99%, проверьте эти ограничения.
Если скорость загрузки в ownCloud падает до 99%, проверьте эти ограничения.
Когда страница ownCloud Files показывает 99 процентов, сначала проверьте, присутствует ли полный файл уже в целевой папке, прежде чем повторять попытку. Если он отсутствует или неполный, попросите администратора проверить пользовательскую квоту, свободное место во временных каталогах PHP и каталогах фрагментов ownCloud, а также лимиты запросов PHP и веб-сервера. Показатель в 99 процентов недостаточен для определения того, какая часть не удалась.
Данное практическое руководство описывает загрузку данных через веб-интерфейс ownCloud Server (Classic) 10.16. Для загрузки данных через Infinite Scale и Desktop-Sync используются другие пути к серверу и журналы. Примеры соответствуют официальной документации 10.16; используйте настройки и пути к файлам для вашей собственной конфигурации.
Быстрая сортировка
То, что вы видите
Сначала проверьте
После обновления папки файл отображается как полностью сформированный.
Сравните его размер с размером локального файла и откройте его перед повторной загрузкой.
Зависание или сбой происходят только при работе с большими файлами.
Сравните размер файла с ограничениями PHP, веб-сервера и прокси-сервера; проверьте объем временного хранилища.
Загрузка не удалась для одного пользователя или одной папки.
Проверьте квоту пользователя, права доступа к папке и убедитесь, что местом назначения является внешнее хранилище.
Загрузка файлов не удаётся многим пользователям.
Проверьте общее дисковое пространство, журналы PHP/веб-сервера, а также любые ограничения прокси-сервера или хостинга.
Пример отображения файлов: строка загрузки почти заполнена, но один только процент не показывает, зафиксировал ли сервер файл.
1. Перед повторной попыткой подтвердите состояние загрузки.
Откройте папку назначения во второй вкладке или обновите ее после того, как процесс загрузки перестанет меняться. Если файл присутствует, сравните его размер в байтах с локальным оригиналом и откройте его. Полный файл с устаревшим индикатором выполнения указывает на пропущенный ответ о завершении или проблему с отображением в браузере; это не является основанием для загрузки второй копии.
Если файл отсутствует или имеет небольшой размер, попробуйте загрузить небольшой тестовый файл в ту же папку, а затем, если возможно, воспользуйтесь оригиналом из другого браузера или сети. Запишите размер файла, имя пользователя, место назначения, приблизительное время и информацию о том, завершилась ли проверка неудачей. Эти сравнения помогут отделить проблему с одним файлом или клиентом от проблемы, затрагивающей весь сервер. Избегайте многократной отмены и перезапуска загрузки большого файла, пока сервер еще обрабатывает его.
2. Проверьте квоту, временное пространство и права доступа.
Обратитесь к администратору ownCloud с просьбой проверить квоту пользователя, на которого распространяется проблема, и права на запись в целевую папку. Ограничение квоты может препятствовать сохранению нового файла, даже если браузер уже отправил большую часть данных. Если целевая папка находится на внешнем монтировании, проверьте также доступное пространство и права на запись в этой папке.
На сервере проверьте наличие свободных блоков и инодов в каталоге данных и во всех соответствующих временных каталогах. Инод — это запись файловой системы, используемая для создания файла; том может иметь свободные гигабайты, но не иметь оставшихся инодов. Используйте фактические пути из вашей конфигурации PHP и ownCloud:
Файлы PHP upload_tmp_dirдолжны быть доступны для записи учетной записью PHP/веб-сервера. ownCloud также имеет настройку временного каталога, и по умолчанию загружаемые фрагменты размещаются в каталоге загрузок пользователя. Во время сборки ownCloud может потребоваться временное пространство, примерно равное размеру конечного файла. Настроенный параметр dav.chunk_base_dirпозволяет изменить это местоположение. Проверьте все эти тома, а не только основной диск с данными.
Проверьте свободное место на диске и количество inode-узлов в файловых системах данных, временных файлов PHP и файловой системы для загрузки фрагментов.
3. Установите ограничения на загрузку и время ожидания в соответствии с размером файла.
Если небольшие файлы работают, а большие — нет, сравните их размер с эффективными настройками web-PHP: upload_max_filesizeи post_max_size. PHP требует post_max_size, чтобы размер файла был больше upload_max_filesize. Проверьте конфигурацию PHP, используемую веб-сервером или PHP-FPM; конфигурация PHP в командной строке может отличаться. В настройках PHP-FPM ownCloud отмечает, что настройки PHP должны находиться в .user.iniили конфигурации FPM, а не только в .htaccess.
Также проверьте, max_input_timeкогда загрузка занимает много времени, и время ожидания выполнения PHP, если в логах отображается превышение времени ожидания. Установите ограничения для ожидаемой рабочей нагрузки, а не копируйте примерные значения; перезапустите или перезагрузите PHP и веб-сервер после изменения конфигурации. См. раздел «Конфигурация загрузки больших файлов» в ownCloud и справочник по директивам загрузки PHP .
Сравните ограничения на загрузку и время ожидания PHP с размером и продолжительностью загрузки затронутых файлов.
Затем проверьте каждый HTTP-уровень перед PHP. Nginx client_max_body_sizeотклоняет запросы слишком большого размера с ошибкой HTTP 413; установите значение достаточно высоким для размера запроса, используемого вашим путем загрузки. Apache LimitRequestBodyтакже mod_reqtimeoutможет ограничивать загрузку. ownCloud специально предупреждает, что обратные прокси, Cloudflare, ограничения ввода-вывода хостинга и настройки таймаута запроса Apache могут влиять на большие объемы загрузки. Изменяйте только тот уровень, который указан в логах, и избегайте глобального отключения модулей безопасности в качестве первого решения. См. официальную документацию Nginx по настройке тела запроса .
4. Используйте журналы для определения неисправного слоя.
Воспроизведите проблему один раз, зафиксировав время, затем проверьте журнал ownCloud и журнал ошибок веб-сервера или прокси-сервера за ту же минуту. Журнал ownCloud обычно находится в настроенном каталоге данных; фактический путь можно изменить в файле config.php. Найдите сообщения о квоте, правах доступа, временных файлах, блокировках, размере запроса или таймауте. Если запрос никогда не появляется в журнале ownCloud, сначала проверьте прокси-сервер или веб-сервер.
tail -n 100 /path/to/owncloud.log
Замените заполнитель путем, указанным в вашей установке. Команда отображает только последние строки логов; она не изменяет данные сервера. Избегайте публикации необработанных логов в открытом доступе без удаления имен пользователей, путей к файлам, IP-адресов и токенов. ownCloud объясняет расположение логов в своей документации по отладке .
Просмотрите журналы ownCloud и веб-сервера на момент неудачной загрузки; путь к ним зависит от конфигурации сервера.
Проверьте исправление
Загрузите один небольшой файл, затем попробуйте загрузить проблемный файл еще раз.
Убедитесь, что целевая копия имеет ожидаемый размер и корректно открывается.
Убедитесь, что во время загрузки не появляются ошибки, связанные с квотой, объемом хранилища, HTTP 413, правами доступа или таймаутом.
Если проблема сохраняется, предоставьте администратору размер файла, место назначения, метку времени и соответствующую запись в журнале, чтобы он мог определить слой, который остановил запрос.
Не следует одновременно увеличивать все лимиты или отключать защиту запросов. Целенаправленное изменение с последующей контролируемой повторной попыткой упростит подтверждение причины и сохранит целостность остальной конфигурации сервера.