应用引擎BAE3.0介绍及百度BAE3.0支持并发多少

百度云BAE3.0的特点:
1.支持本地程序迁移百度云
应用引擎BAE3.0做了很多的改进,其实就是一句话,百度云开发在不断的进步。为了节省开发者的学习成本,百度云BAE3.0增加了轻量级虚拟机,使开发环境和本地环境一致,是本地开发可以直接迁移到百度云上。
2.支持多种编程语言

目前PHP、Python、Java、Node.js,以后还会陆续增加对主流开发语言的支持。此外将来开发者还可以自定义运行环境。
3.支持数据库
在BAE3.0里面继续可以使用,如MySQL、MongoDB、Redis、Cache、Image等等。

4.支持的操作系统

Ubuntu 12.04 Server

轻量虚拟机内部,我们采用的是64位的 Ubuntu 12.04 Server。资源配额

每个轻量虚拟机都具有一定的资源配额,应用如果使用了超过配额的资源,就可能出现不可预期的错误。例如疯狂分配内存,大量占用磁盘空间等等。



    • 内存: 默认 256M;可通过套餐来调整大小
    • 磁盘: 2G
    • CPU: 与其它轻量虚拟机分享CPU
    • 网络: 流入5Mbytes/秒;流出5Mbytes/秒


执行单元压测

以下是对现有的几种 语言环境 进行压力测试的基础数据,压测基于256M内存的执行单元,开发者可参考如下测试数据,以了解BAE3.0中执行单元的抗压能力。

Nodejs runtime 由于压测的只是一个最简单的helloworld页面,没有用到任何扩展服务,因此实际情况可能低于此值。nodejs执行单元压测数据

并发 30 40 50 100 150 300
qps 874 1020 1078 1134 1140 1058
请求数 213794 209581 341982 276669 165076 247589
2xx时延 1ms 1ms 3ms 11ms 29ms 112ms
4xx数量 0 0 0 0 0 0
5xx数量 0 0 0 0 0 2
error数量 73 51 55 57 60 45
宿主机idle 40% 40% 35%' 50% 30% 30%
宿主机load average 21 24 21 70 30 22
网络带宽 4M 4M 5M 6M 5M 6.5M

Php runtime 仅仅针对phpinfo() 页面进行相关压测,没有用到任何扩展服务,因此实际情况可能低于此值。php 执行单元压测数据

php cgi 数: 50        
并发 30 40 50 80 100
qps 1125 1110 1454 1308 425
请求数 117569 161131 153592 197640 68263
2xx时延 1ms 1ms 1ms 1ms 30ms
4xx数量 0 0 0 0 0
5xx数量 0 0 0 0 0
error数量 40 300 176 715 4828
error几率 0.03% 0.18% 0.11% 0.36% 7%
宿主机idle 40% 20% 20% 5% 1%
宿主机load average 17 23 36 47 120
网络带宽 200k 350k 476k 420k 180k

Python runtime 由于压测的只是一个最简单的helloworld页面,没有用到任何扩展服务,因此实际情况可能低于此值。python 执行单元压测数据

cgi 数: 50    
并发 40 50 80
qps 859 864 916
请求数 136719 146709 142883
2xx时延 4ms 5ms 6ms
4xx数量 0 0 0
5xx数量 5 3 12
error数量 2 8 72
error几率 0% 0% 0.05%
宿主机idle 33% 25% 30%
宿主机load average 14.89 18.62 19.75
网络带宽 240k 280k 220k

Java runtime 此次压测只测试了一个最简单的index.jsp 页面,没有用到任何扩展服务,因此实际情况可能低于此值。java 执行单元压测数据

并发 30 40 50 100 150
qps 337 482 529 536 872
请求数 45612 65316 70876 74920 108868
2xx时延 4ms 4ms 5ms 37ms 80ms
4xx数量 0 0 0 0 0
5xx数量 0 0 0 0 43318
error数量 12 7 11 12 19
宿主机idle 10% 10% 10%' 5% 5%
宿主机load average 55 62 63 70 63
网络带宽 1M 2M 5M 6M 5M


注释:
执行单元套餐

在创建BAE部署的时候,您可以根据实际情况选择执行单元的“套餐类型”;也可以在应用上线后,根据访问量随时调整“套餐类型”,从而提高资源利用率。其实这里可以理解为一个宽带的选择,如果一个单元不行,选多个单位即可理解为,如果流量太小,扛不住,就选择流量大的。
执行单元
每个BAE部署由一个或多个“执行单元”组成。执行单元是一个抽象的概念,每个执行单元实际是由一组进程组成;例如一组lighttpd + php-fpm 进程组成了 php-web执行单元。对于一个WEB应用来说,随着访问量的上升,一个基础执行单元很可能扛不住压力。那么可以通过增加执行单元个数进行“水平扩展”,或者增大执行单元配置如内存进行“垂直扩展”,从而轻松应对压力。假设有一个“BAE部署”百度云BAE3.0的特点:
1.支持本地程序迁移百度云
应用引擎BAE3.0做了很多的改进,其实就是一句话,百度云开发在不断的进步。为了节省开发者的学习成本,百度云BAE3.0增加了轻量级虚拟机,使开发环境和本地环境一致,是本地开发可以直接迁移到百度云上。
2.支持多种编程语言
目前PHP、Python、Java、Node.js,以后还会陆续增加对主流开发语言的支持。此外将来开发者还可以自定义运行环境。
3.支持数据库
在BAE3.0里面继续可以使用,如MySQL、MongoDB、Redis、Cache、Image等等。
4.支持的操作系统
Ubuntu 12.04 Server
轻量虚拟机内部,我们采用的是64位的 Ubuntu 12.04 Server。资源配额
每个轻量虚拟机都具有一定的资源配额,应用如果使用了超过配额的资源,就可能出现不可预期的错误。例如疯狂分配内存,大量占用磁盘空间等等。


    • 内存: 默认 256M;可通过套餐来调整大小
    • 磁盘: 2G
    • CPU: 与其它轻量虚拟机分享CPU
    • 网络: 流入5Mbytes/秒;流出5Mbytes/秒

执行单元压测
以下是对现有的几种 语言环境 进行压力测试的基础数据,压测基于256M内存的执行单元,开发者可参考如下测试数据,以了解BAE3.0中执行单元的抗压能力。
Nodejs runtime 由于压测的只是一个最简单的helloworld页面,没有用到任何扩展服务,因此实际情况可能低于此值。nodejs执行单元压测数据
并发 30 40 50 100 150 300
qps 874 1020 1078 1134 1140 1058
请求数 213794 209581 341982 276669 165076 247589
2xx时延 1ms 1ms 3ms 11ms 29ms 112ms
4xx数量 0 0 0 0 0 0
5xx数量 0 0 0 0 0 2
error数量 73 51 55 57 60 45
宿主机idle 40% 40% 35%' 50% 30% 30%
宿主机load average 21 24 21 70 30 22
网络带宽 4M 4M 5M 6M 5M 6.5M
Php runtime 仅仅针对phpinfo() 页面进行相关压测,没有用到任何扩展服务,因此实际情况可能低于此值。php 执行单元压测数据
php cgi 数: 50        
并发 30 40 50 80 100
qps 1125 1110 1454 1308 425
请求数 117569 161131 153592 197640 68263
2xx时延 1ms 1ms 1ms 1ms 30ms
4xx数量 0 0 0 0 0
5xx数量 0 0 0 0 0
error数量 40 300 176 715 4828
error几率 0.03% 0.18% 0.11% 0.36% 7%
宿主机idle 40% 20% 20% 5% 1%
宿主机load average 17 23 36 47 120
网络带宽 200k 350k 476k 420k 180k
Python runtime 由于压测的只是一个最简单的helloworld页面,没有用到任何扩展服务,因此实际情况可能低于此值。python 执行单元压测数据
cgi 数: 50    
并发 40 50 80
qps 859 864 916
请求数 136719 146709 142883
2xx时延 4ms 5ms 6ms
4xx数量 0 0 0
5xx数量 5 3 12
error数量 2 8 72
error几率 0% 0% 0.05%
宿主机idle 33% 25% 30%
宿主机load average 14.89 18.62 19.75
网络带宽 240k 280k 220k
Java runtime 此次压测只测试了一个最简单的index.jsp 页面,没有用到任何扩展服务,因此实际情况可能低于此值。java 执行单元压测数据
并发 30 40 50 100 150
qps 337 482 529 536 872
请求数 45612 65316 70876 74920 108868
2xx时延 4ms 4ms 5ms 37ms 80ms
4xx数量 0 0 0 0 0
5xx数量 0 0 0 0 43318
error数量 12 7 11 12 19
宿主机idle 10% 10% 10%' 5% 5%
宿主机load average 55 62 63 70 63
网络带宽 1M 2M 5M 6M 5M

注释:
执行单元套餐
在创建BAE部署的时候,您可以根据实际情况选择执行单元的“套餐类型”;也可以在应用上线后,根据访问量随时调整“套餐类型”,从而提高资源利用率。其实这里可以理解为一个宽带的选择,如果一个单元不行,选多个单位即可理解为,如果流量太小,扛不住,就选择流量大的。
执行单元

每个BAE部署由一个或多个“执行单元”组成。执行单元是一个抽象的概念,每个执行单元实际是由一组进程组成;例如一组lighttpd + php-fpm 进程组成了 php-web执行单元。对于一个WEB应用来说,随着访问量的上升,一个基础执行单元很可能扛不住压力。那么可以通过增加执行单元个数进行“水平扩展”,或者增大执行单元配置如内存进行“垂直扩展”,从而轻松应对压力。假设有一个“BAE部署”,分配了两个“执行单元”,每个“执行单元”对应一个“轻量虚拟机”, “执行单元”是抽象概念,它启动后,对应着“轻量虚拟机”里面的一组进程,包括 lighttpd 和 php-fpm 进程等。当“轻量虚拟机”出现故障后,BAE平台会自动为它重新分配一个轻量虚拟机,并将“执行单元”部署到新的轻量虚拟机上,这就是“执行单元”的迁移。这种技术保证了应用的高可靠性。当应用流量上升,两个“执行单元”不够用的时候,可以再增加新的轻量虚拟机,并部署“执行单元”,这就是“执行单元”的扩容。这种技术保证了应用的可扩展性。
,分配了两个“执行单元”,每个“执行单元”对应一个“轻量虚拟机”, “执行单元”是抽象概念,它启动后,对应着“轻量虚拟机”里面的一组进程,包括 lighttpd 和 php-fpm 进程等。当“轻量虚拟机”出现故障后,BAE平台会自动为它重新分配一个轻量虚拟机,并将“执行单元”部署到新的轻量虚拟机上,这就是“执行单元”的迁移。这种技术保证了应用的高可靠性。当应用流量上升,两个“执行单元”不够用的时候,可以再增加新的轻量虚拟机,并部署“执行单元”,这就是“执行单元”的扩容。这种技术保证了应用的可扩展性。
原文地址:https://www.cnblogs.com/yunkaifa/p/3498703.html