百度云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平台会自动为它重新分配一个轻量虚拟机,并将“执行单元”部署到新的轻量虚拟机上,这就是“执行单元”的迁移。这种技术保证了应用的高可靠性。当应用流量上升,两个“执行单元”不够用的时候,可以再增加新的轻量虚拟机,并部署“执行单元”,这就是“执行单元”的扩容。这种技术保证了应用的可扩展性。