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

应用引擎BAE3.0介绍及百度BAE3.0支持并发多少的更多相关文章

  1. Fixflow引擎解析(一)(介绍) - Fixflow开源流程引擎介绍

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  2. DRDS分布式SQL引擎—执行计划介绍

    摘要: 本文着重介绍 DRDS 执行计划中各个操作符的含义,以便用户通过查询计划了解 SQL 执行流程,从而有针对性的调优 SQL. DRDS分布式SQL引擎 — 执行计划介绍 前言 数据库系统中,执 ...

  3. Python下Tesseract Ocr引擎及安装介绍

    1.Tesseract介绍 tesseract 是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源码 ...

  4. SpringBootSecurity学习(14)前后端分离版之 OAuth2.0介绍

    登录总结 前面基本介绍了security的常规用法,同时介绍了JWT和它的一个简单实现,基本上开发中遇到的登录问题都能解决了,即使在分布式开发,或者微服务开发中实现登录也基本没有问题了.securit ...

  5. 开源组件编排引擎LiteFlow发布里程碑版本2.5.0

    介绍 LiteFlow作为一款轻量级组件编排框架,自开源来,获得了挺多人的关注.社区群也扩展到了接近200人. 早期版本因为疏忽打理,有一些BUG,迭代也不及时.距离上一个稳定版本2.3.3,已经有超 ...

  6. [MySQL数据库之表的详细操作:存储引擎、表介绍、表字段之数据类型]

    [MySQL数据库之表的详细操作:存储引擎.表介绍.表字段之数据类型] 表的详细操作 存储引擎 mysql中建立的库======>文件夹 库中建立的表======>文件 用来存储数据的文件 ...

  7. ASP.NET 5 已死 - 隆重介绍 ASP.NET Core 1.0 和 .NET Core 1.0

    还没正式登场就死了?不能怪我标题党,是大神Scott在他博客上这么说的,我只是翻译了一下. 在1月20号最新的ASP.NET Community Standup视频中,微软aspnet开发组的大帅哥 ...

  8. 开源任务管理平台TaskManagerV2.0介绍及升级说明

    上一篇开源任务管理平台TaskManager介绍发布后,有网友联系我看看能不能做个后台管理界面,方便管理系统中所有的任务.由于时间和技术问题1.0版本的时候,新增了一个3分钟读取配置文件动态修改任务的 ...

  9. 开放平台鉴权以及OAuth2.0介绍

    OAuth 2.0 协议 OAuth是一个开发标准,允许用户授权第三方网站或应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的内容. OAuth 2.0 ...

随机推荐

  1. Python多线程学习笔记

    Python中与多线程相关的模块有 thread, threading 和 Queue等,thread 和threading模块允许程序员创建和管理线程.thread模块提供了基本的线程和锁的支持,而 ...

  2. poj 1818 ATP

    ATP 题意:足球锦标赛使用二分的策略,每次淘汰剩下人的一半,并且数据表明:排名相差k(include)之内的运动员,胜负难料,否则排名前的必定战胜排名后的:问给定n(n = 2x, x∈N, n & ...

  3. Educational Codeforces Round 8 D. Magic Numbers

    Magic Numbers 题意:给定长度不超过2000的a,b;问有多少个x(a<=x<=b)使得x的偶数位为d,奇数位不为d;且要是m的倍数,结果mod 1e9+7; 直接数位DP;前 ...

  4. 分享零基础学习Hadoop方法

    (我不是Hadoop专家,也只是一个初学者,这里我也只是就自己的学习体会,站在初学者的角度谈一下如何入门.) 首先我觉得应该思考这样一个问题:Hadoop对于我们来讲,是一种工具,那么Hadoop帮助 ...

  5. ibdata1是?

    MySQL使用InnoDB引擎的时候,ibdata1这个文件会随着时间的增长,会变得越来越大,占据大量的磁盘空间. 那么,ibdata1里保存了哪些东西,为什么会变得越来越大呢,让我们开看看ibdat ...

  6. C语言字符知识狭区

    C语言字符在用户接口软件编程上经常用到,但是有一些狭区会让编程出现一些小BUG,现在总结与此. 1.'\\' 代表的是字符\,而'\'是不能代表字符\的.通常\后面都要跟上数字或者其他字母来表示一个特 ...

  7. DB天气app冲刺第二天

    烦躁 烦躁 很烦躁 从大早起就想做一个listview的列表 到晚上也没有做好.不知道为什么.决定明天去问问同学 .做不出来太影响心情了.虽然做出来东西的感觉是很好.. 另外觉得真的没有队友是挺孤独. ...

  8. office2016 部分截图

    哈啊哈哈啊哈 看看吧~~~~~~~~~~~~~~~~~

  9. 条件编译用法(#ifndef #define #endif#else)

    1. 文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西.比如你有两个C文件,这两个C文件都include了同一个头文件.而编译时,这两个C文件要一同编译成一个可运行文件,于是问题 ...

  10. VS Extension: Create a txt file and set the content

    使用 Visual Studio Extension 创建一个文本文件,并填入内容. 需要引用 EnvDTE C:\Program Files (x86)\Microsoft Visual Studi ...