Вот Google предлагает разные уровни своего google-cloud-sql
Я не понимаю, когда кому-то понадобится обновить базовый уровень d0.
Мои вопросы:
1) Если вы подключаете GAE к cloud-sql, будут ли параллельные подключения sql ограничивать масштабируемость вашего приложения GAE 250 одновременными запросами? Я имею в виду, будет ли GAE создавать новое соединение с cloud-sql при каждом запросе?
1bis) Может ли очень востребованное приложение GAE использовать только одно соединение sql?
2) Не могли бы вы привести несколько сценариев, когда Dx может быть рекомендован?
что я не понимаю, когда кто-то должен будет обновить сам
базовый уровень d0.
Когда его производительность оказывается недостаточной для вашей рабочей нагрузки (количество и размер запросов), что приводит к слишком медленным ответам на пользовательские запросы (или фоновые задачи). https://cloud.google.com/sql/docs/instance-info объясняет, как просмотреть всю информацию о данном экземпляре Cloud SQL.
1) если вы подключаете GAE к облаку-SQL, будет ли SQL-сервер одновременно
подключения ограничивают масштабируемость вашего приложения GAE до 250 одновременных
Запросы ? Я имею в виду, GAE создаст новое подключение к облаку-SQL на
каждый запрос?
На самом деле, ваш код PHP будет делать это, например, с помощью вызова, такого как
$sql = new mysqli( ... etc, etc
когда и когда ему нужно соединение Cloud SQL для обслуживания запроса. Я не верю, что может быть какой-либо способ совместного использования одного соединения между разными серверами (и несколько одновременных запросов обычно обслуживаются разными серверами), хотя, если ваш код является поточно-ориентированным, один сервер может отвечать на несколько запросов одновременно, и я полагаю, вы мог попытайтесь разделить одно соединение между потоками с блокировкой, хотя это может повлиять на задержку и в любом случае даст вам лишь небольшое количество повторного использования соединения).
1bis) может ли очень востребованное приложение GAE использовать только одно соединение sql?
«Очень востребованное приложение GAE», без сомнения, будет использовать несколько серверов одновременно, и отдельные серверы не смогут совместно использовать 1 соединение mySql.
2) не могли бы вы привести несколько сценариев, когда Dx может быть рекомендован?
Вам просто понадобятся большие экземпляры пропорционально тому, насколько велика / требовательна ваша рабочая нагрузка — большие базы данных и индексы, большие / тяжелые запросы, в том числе обрабатывающие или возвращающие большое количество данных, много одновременных запросов, интенсивный фоновый «анализ данных», происходящий на в то же время и так далее.
Я бы порекомендовал использовать калькулятор на https://cloud.google.com/products/calculator/ — щелкните значок Cloud SQL, если это именно то, что вы хотите изучить — чтобы определить ожидаемые ежемесячные затраты для экземпляра.
Что касается производительности, которую вы можете ожидать взамен, то она полностью зависит от ваших данных, индексов, рабочих нагрузок, &с, что на самом деле нет ярлыка для этого: скорее, я рекомендую создать минимальный значимый образец ваш Потребности приложения и стресс-нагрузка для него, сначала настройте его на локальную установку MySQL, а затем экспериментально разверните в Cloud SQL в различных конфигурациях для измерения эффекта.
После того, как вы приступили к созданию и калибровке таких тестов, вы, конечно, можете попробовать других конкурирующих поставщиков услуг «mysql in the cloud», чтобы точно знать, какую производительность вы получаете за свои деньги. — К сожалению, я не очень хорошо осведомлен о том, что все доступно на рынке, но мое ключевое сообщение заключается в использовании твой собственный ориентиры, построенные, чтобы быть значимыми для ваш приложение, а не полагаться на «консервированные» тесты …
Других решений пока нет …