Медленная загрузка файлов в Google Cloud Storage - PullRequest
0 голосов
/ 10 января 2019

Я заметил довольно низкую скорость загрузки в Google Cloud Storage, почти в 2,5 раза медленнее по сравнению с загрузкой файла на Google Drive. Вот скринкаст, сравнивающий два файла для загрузки файла объемом 1 ГБ:

https://gyazo.com/c3488bd56b8118043b7df5aab813db01

Это только пример, но я также пытался использовать инструмент командной строки gsutil, используя все рекомендации, которые они имеют для быстрой загрузки больших файлов (например, parallel_composite_upload_threshold). Это все еще медленнее, чем я привык. Намного медленнее.

Есть ли способ улучшить скорость загрузки? Почему загрузка на диск намного быстрее, чем в GCS?

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

Мне потребовался день, чтобы загрузить около 30 000 изображений (100 КБ / изображение) с помощью браузера console.google.cloud.com, также как и вы. Затем я попытался использовать gsutil для загрузки файлов с помощью терминала в Ubuntu. Следуя инструкции здесь: https://cloud.google.com/storage/docs/uploading-objects.

Для одного файла:

gsutil cp [LOCAL_OBJECT_LOCATION] gs://[DESTINATION_BUCKET_NAME]/

Для справочника:

gsutil -m cp -R [DIR_NAME] gs://[DESTINATION_BUCKET_NAME]

Используя gsutil, это было невероятно быстро, я загрузил 100 000 изображений (100 ~ 400 КБ / изображение), и это заняло менее 30 минут.

Честно говоря, я не провел много исследований, почему использование gsutil полностью быстрее, чем использование консоли. Возможно, из-за gsutil предусмотрена опция -m, которая выполняет параллельное (многопоточное / многопроцессорное) копирование, что может значительно повысить производительность загрузки. https://cloud.google.com/storage/docs/composite-objects

0 голосов
/ 10 января 2019

Ну, во-первых, оба эти продукта служат разным целям. В то время как Drive можно рассматривать как небольшое хранилище файлов с использованием облака, Cloud Storage ориентируется на интеграцию с продуктами Google Cloud Platform, надежность данных, доступность, доступность в малых и больших масштабах.

Необходимо учитывать, что при загрузке файла в облачное хранилище он обрабатывается как объект BLOB-объекта , что означает, что он должен выполнить некоторые дополнительные действия, например, объект данные должны быть зашифрованы при загрузке в облачное хранилище, а загруженные объекты проверяются на согласованность .

Кроме того, в зависимости от конфигурации вашего сегмента загруженные объекты могут включать управление версиями , и сегмент может хранить данные в различных регионах одновременно , что может замедлить загрузку файлов.

Я полагаю, что некоторые из этих моментов, особенно шифрование, делают загрузку файлов медленнее в облачном хранилище по сравнению с накопителем.

Я бы порекомендовал, чтобы корзина, в которую вы загружаете, находилась в регионе, ближайшем к вашей области , что может иметь значение.

...