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