Вопрос или проблема
Я тестирую пропускную способность, которую могу ожидать для одной виртуальной машины, загружающей большое количество файлов parquet (аналитическая нагрузка) на Google Cloud. Сначала у меня есть дешевая виртуальная машина с локальным SSD для оценки скоростей. Я могу легко насыщать типичные 7 Гбит/с.
Затем я запускаю машину c2 с 30 vCPU, которую можно включить с сетями первого уровня. Я убедился, что драйвер gVNIC включен. Затем я настроил Private Service Connect для подключения к API Google, настроил частную зону и убедился, что виртуальная машина видит этот новый IP для подключения к API хранилища.
Мое наблюдение заключается в том, что при следующем запуске он все еще достигает лимита 7 Гбит/с. Согласно документации, я мог ожидать 30 Гбит/с.
Я также ожидаю, что ограничения 50/100/200 не применяются, потому что трафик к GCS является внешним по отношению к VPC.
Могу ли я ожидать более 7 Гбит/с загрузки из GCS для одной виртуальной машины через PCS? Как бы вы это настроили? Я думаю, возможно, лучший способ – это параллелизация, а не загрузка на одну виртуальную машину.
Ответ или решение
Конечно, давайте разберем подробно вопрос о пропускной способности, которую можно ожидать при использовании Private Service Connect (PSC) для загрузки данных с Google Cloud Storage (GCS) с одного виртуального сервера.
Во-первых, исходя из вашего описания, вы используете виртуальную машину типа c2 с 30 виртуальными CPU и включенной Tier 1 сетью. Это мощная конфигурация, и в теории вы могли бы ожидать более высокой пропускной способности, чем стандартные 7 Гбит/с, особенно учитывая использование gVNIC. Однако есть несколько факторов, которые могут влиять на производительность.
Потенциальные Ограничения и Способы Оптимизации
-
Настройки VM и gVNIC: Убедитесь, что драйвер gVNIC настроен правильно и функционирует как ожидалось. Важно, чтобы настройки сети поддерживали Tier 1 возможности для достижения более высоких скоростей передачи данных. Возможные проблемы в конфигурации могут влиять на производительность.
-
Private Service Connect (PSC): Использование PSC предоставляет вам возможность безопасно и эффективно подключаться к Google Cloud Service, таким как Google Storage. Однако конфигурация PSC может вводить дополнительные задержки или ограничения, смешиваясь с внутренними настройками сети.
-
Сетевые Параметры и Ограничения Виртуальной Частной Сети (VPC): Параметры вашего VPC могут также ограничивать скорость передачи данных. Важно убедиться, что ограничения на уровне сети не ограничивают вашу пропускную способность.
-
Параллельная Загрузка: Чтобы максимально использовать доступную пропускную способность, рассмотрите возможность использования многопоточных или параллельных загрузок. Разделение данных на несколько потоков и распределение на несколько виртуальных машин может позволить более эффективно использовать доступную сетевую мощность и ресурсов.
Другие Факторы для Учета
-
Оптимизация Приложения: Проверьте, нет ли узких мест в самом приложении или настройках операционной системы, ограничивающих скорость. Оптимизация кода для работы с большими данными может значительно улучшить общую производительность.
-
Тестирование и Мониторинг: Проводите стресс-тесты и мониторинг для выявления факторов, влияющих на производительность, и их последующего устранения.
Заключение
Исходя из вашей конфигурации и текущих попыток, вы, вероятно, можете достичь большей пропускной способности, чем 7 Гбит/с, но это зависит от корректного учета всех вышеперечисленных факторов. Настоятельно рекомендуется использовать параллельные загрузки и пересмотреть настройки сети и применения. Это может помочь вам достичь максимальной производительности при работе с Google Cloud Storage через Private Service Connect.
Если у вас остаются вопросы или трудности в настройке структуры, могут быть полезны консультации с командой поддержки Google Cloud или привлечение технических консультантов.