GAE + Cloud SQL - 如何理解不同层级
GAE + Cloud SQL - How to understand different Tiers
Here Google 提供不同层级的 google-cloud-sql
我不明白什么时候有人需要升级最基本的 d0 层。
我的问题是:
1) 如果您将 GAE 连接到云-sql,sql 并发连接是否会将您的 GAE 应用程序的可扩展性限制为 250 个并发请求?我的意思是,GAE 会根据每个请求创建到 cloud-sql 的新连接吗?
1bis) 请求非常多的 GAE 应用程序能否仅使用一个 sql 连接?
2) 你能给出一些 Dx 值得推荐的案例吗?
what i dont understand is when someone will need to upgrade the very
basic d0 tier.
当其性能证明无法满足您的工作负载(查询的数量和大小),导致对用户查询(或后端任务)的响应太慢时。 https://cloud.google.com/sql/docs/instance-info 解释了如何查看有关给定 Cloud SQL 实例的所有信息。
1) if you are connecting GAE to cloud-sql, will the sql concurrent
connections limit the scalability of your GAE app to 250 concurrent
requests ? i mean, will GAE create a new connection to cloud-sql on
every request ?
实际上,您的 PHP 代码 会做到这一点,例如通过
这样的调用
$sql = new mysqli( ... etc, etc
是否以及何时需要云 SQL 连接来处理请求。我不相信有任何方法可以在不同的服务器之间共享单个连接(并且多个并发请求通常由不同的服务器提供服务——尽管如果您的代码是线程安全的,那么单个服务器可能会同时响应几个请求,而且我我猜你 可以 尝试通过锁定在线程之间共享一个连接,尽管这可能会影响延迟并且无论如何只会给你少量的连接重用。
1bis) can a very requested GAE app use only one sql connection ?
A "very requested GAE app" 无疑会同时使用多个服务器,而且单独的服务器无法共享 1 个 mySql 连接。
2) could you give some case-scenarios when Dx may be recomendable ?
您只需要与 big/demanding 您的工作负载成比例的更大的实例 -- 更大的数据库和索引,big/heavy 请求,包括处理或 returning 大量数据,许多并发请求,大量背景 "data mining" 同时进行,等等。
我建议使用 https://cloud.google.com/products/calculator/ 上的计算器——如果您特别想了解这一点,请单击云 SQL 图标——以确定一个实例的预期每月成本。
至于您在 return 中可以期待的性能,这完全取决于您的数据、索引、工作负载等,因此确实没有捷径可走:相反,我建议构建一个最小的有意义的样本您的 应用程序的需求和压力负载测试,首先在本地 MySQL 安装上对其进行调整,然后以不同的配置实验性地部署到云端 SQL测量效果。
一旦您解决了构建和校准此类基准的麻烦,您当然可能还想尝试其他 "mysql in the cloud" 服务的竞争提供商,以确切了解您的性能为你赚钱——不幸的是,我对市场上所有可用的东西不是很了解,但我的主要信息是使用你自己的基准,对您的应用,而不是依赖"canned"基准...
Here Google 提供不同层级的 google-cloud-sql
我不明白什么时候有人需要升级最基本的 d0 层。
我的问题是:
1) 如果您将 GAE 连接到云-sql,sql 并发连接是否会将您的 GAE 应用程序的可扩展性限制为 250 个并发请求?我的意思是,GAE 会根据每个请求创建到 cloud-sql 的新连接吗?
1bis) 请求非常多的 GAE 应用程序能否仅使用一个 sql 连接?
2) 你能给出一些 Dx 值得推荐的案例吗?
what i dont understand is when someone will need to upgrade the very basic d0 tier.
当其性能证明无法满足您的工作负载(查询的数量和大小),导致对用户查询(或后端任务)的响应太慢时。 https://cloud.google.com/sql/docs/instance-info 解释了如何查看有关给定 Cloud SQL 实例的所有信息。
1) if you are connecting GAE to cloud-sql, will the sql concurrent connections limit the scalability of your GAE app to 250 concurrent requests ? i mean, will GAE create a new connection to cloud-sql on every request ?
实际上,您的 PHP 代码 会做到这一点,例如通过
这样的调用$sql = new mysqli( ... etc, etc
是否以及何时需要云 SQL 连接来处理请求。我不相信有任何方法可以在不同的服务器之间共享单个连接(并且多个并发请求通常由不同的服务器提供服务——尽管如果您的代码是线程安全的,那么单个服务器可能会同时响应几个请求,而且我我猜你 可以 尝试通过锁定在线程之间共享一个连接,尽管这可能会影响延迟并且无论如何只会给你少量的连接重用。
1bis) can a very requested GAE app use only one sql connection ?
A "very requested GAE app" 无疑会同时使用多个服务器,而且单独的服务器无法共享 1 个 mySql 连接。
2) could you give some case-scenarios when Dx may be recomendable ?
您只需要与 big/demanding 您的工作负载成比例的更大的实例 -- 更大的数据库和索引,big/heavy 请求,包括处理或 returning 大量数据,许多并发请求,大量背景 "data mining" 同时进行,等等。
我建议使用 https://cloud.google.com/products/calculator/ 上的计算器——如果您特别想了解这一点,请单击云 SQL 图标——以确定一个实例的预期每月成本。
至于您在 return 中可以期待的性能,这完全取决于您的数据、索引、工作负载等,因此确实没有捷径可走:相反,我建议构建一个最小的有意义的样本您的 应用程序的需求和压力负载测试,首先在本地 MySQL 安装上对其进行调整,然后以不同的配置实验性地部署到云端 SQL测量效果。
一旦您解决了构建和校准此类基准的麻烦,您当然可能还想尝试其他 "mysql in the cloud" 服务的竞争提供商,以确切了解您的性能为你赚钱——不幸的是,我对市场上所有可用的东西不是很了解,但我的主要信息是使用你自己的基准,对您的应用,而不是依赖"canned"基准...